これの違いは何ですか:
this.btnOk.Click += new System.EventHandler(this.btnOK_Click);
この?
this.btnOk.Click += this.btnOK_Click;
どちらも機能します。前者は、スニペットを使用するときの Visual Studio の既定値です。しかし、それは余分な言葉遣いを宣伝しているように見えますか、それとも何か不足していますか?
変わりはない。デリゲートのインスタンス化を省略することは、単なる構文キャンディです。C# コンパイラは内部でデリゲートのインスタンス化を生成します。
C# 3.0 以降では、これに違いはありません。C# 3.0 より前は、コンパイラの制限により EventHandlers が必要でしたが、C# 3.0 の出現により、非常に明確にしたい場合を除き、2 番目の形式が推奨されます。
C# 3.0 以降では、デリゲート ハンドラーが暗黙的に追加されていると思います。ただし、特に複数のデリゲート型が考えられる場合は、より明示的にすると役立つ場合があります。
「+= Delegate_Name」はシンタックス シュガーです。コンパイラが新しいラッパーを作成します。