在.NET中取消订阅事件语法

时间:2012-10-01 18:49:29

标签: c# events syntax delegates

  

可能重复:
  Is there an actual difference in the 2 different ways of attaching event handlers in C#?

我正在研究.NET应用程序,我遇到了一个小的语法困境。我注意到有两种取消订阅活动的方式,我很好奇。这两者之间有什么区别,还是相同?有什么情况,他们可能采取不同的行动吗?编译器似乎没有任何问题。

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

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

由于

2 个答案:

答案 0 :(得分:0)

EventHandler中包装代理是多余的。即使它是标准模板的一部分,您也可以随时删除它。

Resharper会对此发出警告

答案 1 :(得分:0)

没有任何区别。 你也可以:

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

编译器做了一些漂亮的类型推断,使代码可读性更好!