删除事件处理程序
这是:
Button.Click -= new EventHandler(Button_Click);
就像这样:
Button.Click -= Button_Click;
我问,因为对我来说,似乎前者是删除一个方法的新参考,后者是删除一个方法本身。 但是,再次,也许新的EventHandler部分隐含在+ =或 – =重载,以防程序员没有明确指定它?
如果不一样的话
Button.Click -= new EventHandler(Button_Click);
VS
Button.Click -= Button_Click;
谢谢。
这是相同的。 第二个仅仅是第一个语法糖,平等比较适合于委托types重载:
具有相同目标,方法和调用列表的两个相同types的代表被认为是相同的。
来源: MSDN,Delegate.Equality运算符
最终的结果是一样的。 编译器会自动推断委托types,因此不需要新运算符来创build它。