这是:
Button.Click -= new EventHandler(Button_Click);
与此相同:
Button.Click -= Button_Click;
我问,因为对我来说,似乎前者正在删除对方法的新引用,而后者正在删除方法本身。但话说回来,如果程序员没有明确地分配它,那么新的EventHandler部分可能隐含在+ =或 - =重载中?
如果不同怎么样
Button.Click -= new EventHandler(Button_Click);
VS
Button.Click -= Button_Click;
感谢。
答案 0 :(得分:46)
它是一样的。第二个只是第一个的语法糖,并且对于委托类型适当地重载了相等比较:
具有相同目标,方法和调用列表的两个相同类型的委托被认为是相同的。
答案 1 :(得分:0)
最终结果是一样的。编译器会自动推断委托的类型,因此不需要新的运算符来创建委托。