>>417修正
イベントドリブンモデルにおいては、もちろん通常のデリゲートでも同じような事が
言えるのかもしれんが、
いや、もっというと初期値というもの全般について言えることなんだけど

変数に中身が入ってない状態で呼び出されてしまった場合に備えて
やはり空のメソッドでも入れておくべきだ

初期値についてはいろいろルールがあったはずだが忘れたw
調べるのが面倒なのでおいおいということにしよう
クラス変数とローカル変数でも変ってきたはず

とりあえずこれだけは確認した。下のコードはエラーがでる
初期値代入なしで、中身となるメソッドも入れずに実行した場合

public delegate void MyEventHandler(object sender, EventArgs e);

class Program
{
 public event MyEventHandler myEvent;

 public void handler(object o, EventArgs e)
 {
  Console.WriteLine("handler called");
 }

 public static void Main(string[] args)
 {
  Program target = new Program();

  target.myEvent(target, EventArgs.Empty);
 }
}