6

次の両方のバリエーションがコンパイルされ、表面上は同じように動作するように見えます。シンタックス シュガー以外に違いはありますか?

someObject.SomeEvent += new SomeEventHandler(someObject_SomeEvent);
someObject.SomeEvent += someObject_SomeEvent;
4

2 に答える 2

10

2つはまったく同じです。2 番目の (短い) 形式を使用すると、コンパイラは単にデリゲート型を挿入します。

デリゲート型をコード内に存在させたい場合 (読みやすさなど) を除き、デリゲートを明示的に構築する構文を使用する理由はありません。

于 2013-04-29T15:36:16.413 に答える
4

私が覚えている限りでは、デリゲートを作成する新しい短いバージョンが vs2003 コンパイラで導入されました。これは、長いバージョンに対する単なる構文糖衣です。

于 2013-04-29T15:39:08.310 に答える