これは:
Button.Click -= new EventHandler(Button_Click);
これと同じ:
Button.Click -= Button_Click;
前者はメソッドへの新しい参照を削除しており、後者はメソッド自体を削除しているように見えるので、私は尋ねます。しかし、繰り返しになりますが、プログラマがそのように明示的に割り当てない場合に備えて、新しいEventHandler部分が+ =または-=オーバーロードで暗黙的に使用されている可能性があります。
違う場合はどうですか
Button.Click -= new EventHandler(Button_Click);
VS
Button.Click -= Button_Click;
ありがとう。
同じです。 2つ目は1つ目の構文糖衣にすぎず、等価比較はデリゲート型に対して適切にオーバーロードされます。
同じターゲット、メソッド、および呼び出しリストを持つ同じタイプの2つのデリゲートは等しいと見なされます。
最終結果は同じです。コンパイラーはデリゲートのタイプを自動的に推論しているため、新しいオペレーターがデリゲートを作成する必要はありません。