这是:
Button.Click -= new EventHandler(Button_Click);
与此相同:
Button.Click -= Button_Click;
我问是因为在我看来前者正在删除对方法的新引用,而后者正在删除方法本身。但话又说回来,也许新的 EventHandler 部分隐含在 += 或 -= 重载中,以防程序员没有像那样显式分配它?
万一不一样呢
Button.Click -= new EventHandler(Button_Click);
对比
Button.Click -= Button_Click;
谢谢。
最佳答案
是一样的。第二个只是第一个的语法糖,并且为委托(delegate)类型适本地重载了相等比较:
Two delegates of the same type with the same targets, methods, and invocation lists are considered equal.
关于c# - 删除事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1307607/