为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
幕布斯7119047 2019-08-13 14:56:55
C#:'+ = anEvent'和'+ = new EventHandler(anEvent)'之间的区别拿下面的代码:private void anEvent(object sender, EventArgs e) {     //some code}以下有什么区别?[object].[event] += anEvent;//and[object].[event] += new EventHandler(anEvent);[UPDATE]显然,两者之间没有区别......前者只是后者的语法糖。
查看完整描述

3 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

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

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


查看完整回答
反对 回复 2019-08-13
?
翻阅古今

TA贡献1780条经验 获得超5个赞

[object].[event] += anEvent;

只是语法糖 -

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


查看完整回答
反对 回复 2019-08-13
?
撒科打诨

TA贡献1934条经验 获得超2个赞

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


查看完整回答
反对 回复 2019-08-13
  • 3 回答
  • 0 关注
  • 424 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信