采取以下代码:

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

以下之间有什么区别?
[object].[event] += anEvent;

//and

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

[更新]

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

最佳答案

没有区别。在第一个示例中,编译器将自动推断您要实例化的委托(delegate)。在第二个示例中,您显式定义了委托(delegate)。

委派推理已在C#2.0中添加。因此,对于C#1.0项目,第二个示例是您唯一的选择。对于2.0项目,使用推理的第一个示例是我更喜欢在代码库中使用和看到的示例-因为它更简洁。

10-08 03:51