可能重复:
C#: Difference between ‘ += anEvent’ and ‘ += new EventHandler(anEvent)’
让我们有这个代表:
delegate int Process (int x ,int y) ;
和这个方法:
int Add (int x , int y)
{
return x+y ;
}
我的问题:
有什么区别:
Process MyProcess = Add ;
和:
Process MyProcess = new Process (Add) ;
答案 0 :(得分:6)
在C#1.x中,只会编译第二个版本。
C#2.0添加implicit method group conversions,允许您编写第一个版本。两者是等价的。有时,在存在歧义的情况下,有必要使用更明确的形式。
有关详细信息,请参阅Jon Skeet的文章Delegate inference中的Delegate changes部分。