是否应该用它们的委托来装饰事件处理程序

本文关键字:程序 事件处理 是否 | 更新日期: 2023-09-27 18:11:35

以下两种变体都可以编译,并且表面上看起来行为方式相同。除了语法糖,还有其他的区别吗?

someObject.SomeEvent += new SomeEventHandler(someObject_SomeEvent);
someObject.SomeEvent += someObject_SomeEvent;

是否应该用它们的委托来装饰事件处理程序

两者完全相同。如果你使用第二种(较短的)形式,编译器只会为你输入委托类型。

没有理由使用显式构造委托的语法,除非您希望委托类型存在于代码中(为了可读性等)。

在我的记忆中,vs2003编译器引入了新的、更短的创建委托的版本。