0

可能重复:
在 C# 中附加事件处理程序的 2 种不同方式是否存在实际差异?

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

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 回答