Next upcoming event of interest: Technorati's Tag: Event,Community Days 2012
This extension method, applied to the object class and then available for all classes, allows to raise any events via reflection, providing as parameters the event name (as a string) and the TEvenArgs generic parameter.
public static void Raise<TEventArgs>(this object source, string eventName,
TEventArgs eventArgs) where TEventArgs : EventArgs
{
var eventInfo = source.GetType().GetEvent(eventName,
BindingFlags.Public | BindingFlags.NonPublic
| BindingFlags.Instance);
...