拿下面的代码:
private void anEvent(object sender, EventArgs e) {
//some code
}
Run Code Online (Sandbox Code Playgroud)
以下有什么区别?
[object].[event] += anEvent;
//and
[object].[event] += new EventHandler(anEvent);
Run Code Online (Sandbox Code Playgroud)
[UPDATE]
显然,两者之间没有区别......前者只是后者的语法糖.
在C#中,当注册事件处理程序时,您有两个选项(btn类型System.Windows.Controls.Button):
btn.Click += new RoutedEventHandler (ButtonClick)
和
btn.Click += ButtonClick.
它们之间的语义差异及其含义是什么?
可能重复:
使用新处理程序附加事件处理程序与直接分配它
是什么赋予一个回调的区别,可以说按钮的点击使用事件+= new(...)对刚+=?以下是每个样本的清晰度:
Button b = new Button();
b.Click += new System.EventHandler(button_Click);
b.Click += button_Click;
Run Code Online (Sandbox Code Playgroud)
难道第一个创建方法的新实例button_Click,而第二个总是使用中定义的这个?