2009-09-02 33 views
27
delegate void DelegateTest(); 

DelegateTest delTest; 

delTest.Invoke()delTest()の相違点は何ですか?どちらも現在のスレッドでデリゲートを実行します。Delegate.InvokeとDelegateの相違点

答えて

33

delTest()フォームはコンパイラヘルパーです。その下には実際にInvoke()が呼び出されます。

+1

richard、あなたのプロフィールに "rotorua"のスペルが間違っていたので、ほとんどあなたの投票を取らなければなりませんでした;) –

+0

@Rob:Oops、typoが修正されました。 – Richard

+1

@リチャード:Invoke()は内部的に何をしますか?このInvokeメソッドはどこに正確に存在しますか?私は、DelegateのメタデータファイルとMultiCastDelegateで見つけられませんでした。 – Novice

3

これは正しいです。両方ともまったく同じ結果を示します。

もちろん、delTestを正しく初期化したとします。

+0

'delTest'が' null'の場合、両方の構文が同じ結果になります(その状況では、呼び出しが試行された行からスローされた 'NullReferenceException')。 –

関連する問題