C#:'+ = anEvent'和'+ =新的EventHandler(anEvent)'之间的区别 [英] C#: Difference between ' += anEvent' and ' += new EventHandler(anEvent)'

查看:714
本文介绍了C#:'+ = anEvent'和'+ =新的EventHandler(anEvent)'之间的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

就拿低于code:

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



什么是以下区别?

[object].[event] += anEvent;

//and

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

[更新]

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

Apparently, there is no difference between the two...the former is just syntactic sugar of the latter.

推荐答案

有什么区别。在你的第一个例子中,编译器会自动推断出你想实例化委托。在第二个例子中,你明确地定义了委托。

There is no difference. In your first example, the compiler will automatically infer the delegate you would like to instantiate. In the second example, you explicitly define the delegate.

代表推断加入C#2.0中。所以对于C#1.0的项目,第二个例子是你唯一的选择。 2.0项目,利用推理的第一个例子是我会preFER使用,并看到在codeBase的 - 因为它更简洁

Delegate inference was added in C# 2.0. So for C# 1.0 projects, second example was your only option. For 2.0 projects, the first example using inference is what I would prefer to use and see in the codebase - since it is more concise.

这篇关于C#:'+ = anEvent'和'+ =新的EventHandler(anEvent)'之间的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆