Evil or not evil?
public static void Raise(this EventHandler handler, object sender, EventArgs args) { if (handler != null) { handler(sender, arg
Don't forget to use [MethodImpl(MethodImplOptions.NoInlining)], else its possible that it isn't thread safe.
[MethodImpl(MethodImplOptions.NoInlining)]
(Read that somewhere long ago, remembered it, googled and found http://blog.quantumbitdesigns.com/tag/events/ )