连接事件处理程序的这两种语法有什么区别?
可能重复:
在C#中附加事件处理程序的两种不同方式是否存在实际差异?
我已经看到很多代码看起来像这样:
foo.Drop += new DragEventHandler(fooHandler);
但在过去,我总是这样做:
foo.Drop += fooHandler;
这两种语法之间有区别吗? 如果是这样,那么做到这一点有什么好处吗?
第二个是第一个的简写; 他们将编译成缩进的IL。
但是,第二种语法是C#2.0的新内容; C#1仅支持第一个。
它们都会产生相同的IL 。
所以,在回答你的问题时,不 – 使用较长版本没有任何好处。
没有区别,因为.Net 2你可以使用所谓的方法组转换,它允许你直接将方法名称注册到事件而不需要委托对象
它们是相同的,但在第二个示例中,编译器使用方法组转换为您推断委托类型。 句法糖……
上述就是C#学习教程:连接事件处理程序的这两种语法有什么区别?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/950994.html