这个问题已经在这里有了答案:
已关闭10年。
嗨,我已经尝试过寻找答案,但是我真的不知道要搜索什么术语,而且这些站点建议的问题都不相关。我敢肯定,这一定已经回答过了。
基本上,有人可以告诉我C#中这两行之间的区别是什么:
SomeEvent += SomeMethod
SomeEvent += new SomeDelegate(SomeMethod)
例如:
DataContextChanged += App_DataContextChanged;
DataContextChanged += new DependencyPropertyChangedEventHandler(App_DataContextChanged);
他们似乎都在做同一件事。
最佳答案
他们是一样的。第二个变体只是第一个变体的简称Method group conversion
。
简而言之,编译器通过使用事件本身的委托(delegate)类型来推断委托(delegate)的类型。如果我没有记错的话,这是在C#2.0中引入的。
关于c# - C#:SomeEvent + =方法和SomeEvent + = new Delegate(Method)有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4679369/