Mat*_*att 6 c# events delegates
可能重复:
我应该创建新的委托实例吗?
嗨,我已经尝试过搜索这个问题的答案了,但是我真的不知道要搜索哪些术语,并且没有任何网站建议的问题是相关的.我确信这之前一定得到了解答.
基本上,有人可以告诉我C#中这两行之间的区别是什么:
SomeEvent += SomeMethod
SomeEvent += new SomeDelegate(SomeMethod)
Run Code Online (Sandbox Code Playgroud)
例如:
DataContextChanged += App_DataContextChanged;
DataContextChanged += new DependencyPropertyChangedEventHandler(App_DataContextChanged);
Run Code Online (Sandbox Code Playgroud)
他们似乎都做同样的事情.
他们是一样的.第二个变体只是第一个被调用的简写Method group conversion.
简而言之,编译器通过使用事件本身的委托类型来推断委托的类型.如果我没有弄错的话,这是在C#2.0中引入的.
他们做同样的事情.变化
SomeEvent += new SomeDelegate(SomeMethod)
Run Code Online (Sandbox Code Playgroud)
是用C#1.0,1.1编写它的唯一方法.从2.0开始,您可以编写另一种替代方案作为简化.