猿问

C#:'+ = anEvent'和'+ = new EventHandler(anEvent)

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

拿下面的代码:

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

以下有什么区别?

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

[UPDATE]

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


幕布斯7119047
浏览 443回答 3
3回答

狐的传说

没有区别。在第一个示例中,编译器将自动推断您要实例化的委托。在第二个示例中,您明确定义了委托。在C#2.0中添加了委托推断。所以对于C#1.0项目,第二个例子是你唯一的选择。对于2.0项目,使用推理的第一个示例是我更喜欢使用并在代码库中看到的 - 因为它更简洁。

翻阅古今

[object].[event] += anEvent;只是语法糖 -[object].[event] += new EventHandler(anEvent);

撒科打诨

我认为没有区别。编译器将第一个转换为第二个。
随时随地看视频慕课网APP
我要回答