C#:“+ = anEvent”和“+ = new EventHandler(anEvent)”之间的区别

以下面的代码:

private void anEvent(object sender, EventArgs e) { //some code } 

以下是什么区别?

 [object].[event] += anEvent; //and [object].[event] += new EventHandler(anEvent); 

[UPDATE]

显然,两者之间没有区别……前者只是后者的语法糖。

没有区别。 在你的第一个例子中,编译器会自动推断你想要实例化的委托。 在第二个示例中,您明确定义了委托。

委托推理是在C#2.0中添加的。 所以对于C#1.0项目,第二个例子是唯一的select。 对于2.0项目,使用推理的第一个例子是我希望在代码库中使用和看到的 – 因为它更简洁。

 [object].[event] += anEvent; 

只是语法糖 –

 [object].[event] += new EventHandler(anEvent); 

我不认为有什么区别。 编译器将第一个转换为第二个。