添加事件处理程序时,是否使用'new()'?



可能重复:
用新处理程序附加Eventhandler与直接分配

使用+= new(...)将回调分配给按钮的Click事件与仅使用+=有什么区别?为了清晰起见,下面是每个的样本:

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

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

第二个是第一个的短手,所以两者都将创建事件处理程序并将其添加到Click中。

下面是"C#in Depth"中关于事件的章节中的一个很好的解释。

没有区别。

你也可以…

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

这三者都是相同的,即将一个函数分配给一个代理。

相关内容

  • 没有找到相关文章

最新更新