2010-11-24 4 views
2

を発射する際に異なる構文フォームIは、C#でイベントを発火の異なる構文のバージョンを見つけて、私は本当に違いが間にある正確に何を把握カント:Cの#:イベント

if (OnMyEvent!= null) 
    OnMyEvent(this, new MyEventEventArgs()); 

と:

OnMyEvent.Invoke(this, new MyEventEventArgs()); 

特にスレッドのコンテキストの変更がない場合は、

ありがとうございます!

答えて

4

Reflectorまたはildasmを使用すると、正確に同じもの(Invoke()への呼び出し)にこれらのコンパイル(nullのモジュロチェック)が表示されます。

が望ましいです何のためとして、あなたは常にnullをチェックする必要がありますし、より頻繁にInvoke()構文を超える呼び出し構文が表示されます。

+0

ありがとうございました! [このコメントに15文字以上を記入する:)] – TheZeta

1

Invokeメソッドは、リフレクションでイベントをトリガするときに便利です。