采用以下代码:
private void anEvent(object sender, EventArgs e) {
//some code
}
下面的有什么区别?
[object].[event] += anEvent;
//and
[object].[event] += new EventHandler(anEvent);
[更新]
显然,两者之间没有区别......前者只是后者的语法糖。
最佳答案
没有区别。在您的第一个示例中,编译器将自动推断您想要实例化的委托(delegate)。在第二个示例中,您显式定义了委托(delegate)。
委托(delegate)推理是在 C# 2.0 中添加的。因此,对于 C# 1.0 项目,第二个示例是您唯一的选择。对于 2.0 项目,第一个使用推理的示例是我更愿意在代码库中使用和看到的 - 因为它更简洁。
关于C#: ' += anEvent' 和 ' += new EventHandler(anEvent)' 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/550703/