Elegant way to raise an event

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!