以下面的代码为例:
private void anEvent(object sender, EventArgs e) { //some code }
以下内容之间有什么区别?
[object].[event] += anEvent; //and [object].[event] += new EventHandler(anEvent);
[更新]
显然,两者之间没有区别... ... 前者只是后者的句法糖。
我不认为有什么不同。编译器把第一个转换成第二个。
没有区别。在第一个示例中,编译器将自动推断要实例化的委托。在第二个示例中,显式定义委托。
委托推理是在 C # 2.0中添加的。因此,对于 C # 1.0项目,第二个示例是您唯一的选择。对于2.0项目,第一个使用推理的例子是我希望在代码库中使用和查看的——因为它更简洁。
[object].[event] += anEvent;
只是句法糖
[object].[event] += new EventHandler(anEvent);