を発射する際に異なる構文フォームIは、C#でイベントを発火の異なる構文のバージョンを見つけて、私は本当に違いが間にある正確に何を把握カント:Cの#:イベント
if (OnMyEvent!= null)
OnMyEvent(this, new MyEventEventArgs());
と:
OnMyEvent.Invoke(this, new MyEventEventArgs());
特にスレッドのコンテキストの変更がない場合は、
ありがとうございます!
を発射する際に異なる構文フォームIは、C#でイベントを発火の異なる構文のバージョンを見つけて、私は本当に違いが間にある正確に何を把握カント:Cの#:イベント
if (OnMyEvent!= null)
OnMyEvent(this, new MyEventEventArgs());
と:
OnMyEvent.Invoke(this, new MyEventEventArgs());
特にスレッドのコンテキストの変更がない場合は、
ありがとうございます!
Reflectorまたはildasmを使用すると、正確に同じもの(Invoke()
への呼び出し)にこれらのコンパイル(null
のモジュロチェック)が表示されます。
が望ましいです何のためとして、あなたは常にnull
をチェックする必要がありますし、より頻繁にInvoke()
構文を超える呼び出し構文が表示されます。
Invokeメソッドは、リフレクションでイベントをトリガするときに便利です。
ありがとうございました! [このコメントに15文字以上を記入する:)] – TheZeta