C#:'+ = anEvent'和'+ =新的EventHandler(anEvent)'之间的区别 [英] C#: Difference between ' += anEvent' and ' += new 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屋!