イベントを発生させるメソッドの実装(2)

イベントとイベントを発生させるメソッドを

public class Sample
{
    public Sample()
    {
        // 何もしないイベントハンドラを1個登録しておく。
        Hello = delegate {};
    }

    public event EventHandler<HelloEventArgs> Hello;

    protected virtual void OnHello(HelloEventArgs e)
    {
        // クラス内部で null を代入しないかぎり、
        // Hello は null にならない。
        Hello(this, e);
    }
}

という風に実装しているコードを見かけた。
なるほど。これならイベントハンドラを外部から -= で全て登録解除されても NullReferenceException は発生しないな。
メモしておこう.......φ(..)メモメモ