I got fed up with this kind of code for a long time:
private void personList_DoubleClick(object sender, EventArgs e) { if (ShowSelectedPerson != null) ShowSelectedPerson(this, EventArgs.Empty); }
Today, a colleague of mine triggered this simple idea:
private void personList_DoubleClick(object sender, EventArgs e) { ShowSelectedPerson.Raise(this, EventArgs.Empty); }
This is implemented with a simple extension method
public static class EventHandlerExtensions { public static void Raise(this EventHandler eventHandler, object sender, EventArgs eventArgs) { if (eventHandler.IsNotNull()) eventHandler(sender, eventArgs); } }
Damn, I love extension methods!
