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!