What is the difference between these two syntaxes for hooking up an event handler?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Is there an actual difference in the 2 different ways of attaching event handlers in C#?
我见过很多这样的代码:
1 |
但在过去,我总是这样做:
1 | foo.Drop += fooHandler; |
这两种语法有区别吗?如果是这样,长期这样做有什么好处吗?
第二个是第一个的简写;它们将编译为相同的 IL。
但是,第二种语法是 C# 2.0 的新语法; C# 1 只支持第一个。
它们都会产生相同的 IL。
所以,在回答您的问题时,不 - 使用更长的版本没有任何好处。
它们是相同的,但在第二个示例中,编译器使用方法组转换来为您推断委托类型。语法糖...
没有区别,因为 .Net 2 并且您可以使用所谓的方法组转换,它允许您将方法名称直接注册到事件而无需委托 Object