当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《C#:'+=anEvent'和'+=newEventHandler(anEvent)'之间的区别》经验,为你挑选了3个好方法。

拿下面的代码:

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

以下有什么区别?

[object].[event] += anEvent;

//and

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

[UPDATE]

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



1> driis..:

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

在C#2.0中添加了委托推断.所以对于C#1.0项目,第二个例子是你唯一的选择.对于2.0项目,使用推理的第一个示例是我更喜欢使用并在代码库中看到的 - 因为它更简洁.



2> Martin Jonáš..:
[object].[event] += anEvent;

只是语法糖 -

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



3> Megacan..:

我认为没有区别.编译器将第一个转换为第二个.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有