0

重複の可能性:
C# でイベント ハンドラーをアタッチする 2 つの異なる方法に実際の違いはありますか?

私は .NET アプリケーションで作業していて、小さな構文のジレンマに遭遇しました。イベントの登録を解除するには 2 つの方法があることに気付きました。興味があります。2つに違いはありますか、それとも等しいですか?彼らが異なる行動をとる可能性があるシナリオはありますか? コンパイラは、これらのいずれにも問題がないようです。

object.myEvent += new EventHandler(callback_function);
object.myEvent -= new EventHandler(callback_function);

object.myEvent += new EventHandler(callback_function);
object.myEvent -= callback_function;

ありがとう

4

2 に答える 2

0

デリゲートをでラップすることEventHandlerは冗長です。標準テンプレートの一部であっても、いつでもドロップできます。

Resharperはこれについて警告します

于 2012-10-01T18:51:37.730 に答える
0

違いはありません。あなたも持つことができます:

object.myEvent += callback_function;
object.myEvent -= callback_function;

コンパイラーは、コードの可読性を大幅に向上させる、気の利いた型推論を行います。

于 2012-10-01T18:51:40.410 に答える