3

可能重复:
使用新处理程序附加事件处理程序与直接分配它

分配回调有什么区别,让我们说一个按钮的Click事件使用+= new(...)与 just +=?为了清楚起见,以下是每个示例:

Button b = new Button();
b.Click += new System.EventHandler(button_Click);
b.Click += button_Click;

第一个是否创建了该方法的新实例,button_Click而第二个总是使用在this中定义的那个?

4

2 回答 2

7

第二个是第一个的简写,因此两者都将创建事件处理程序并将其添加到Click.

这是“深度 C#”中有关事件的章节中的一个很好的解释。

于 2012-08-26T07:00:28.547 回答
2

没有区别。

你也可以做..

b.Click += (e, sender) =>{
 // do something here
};

这三个都是相同的,即为委托分配一个功能。

于 2012-08-26T07:04:18.323 回答