我应该创建一个新的代理实例吗?
这样做有什么意义……
this.myButton.Click += new EventHandler(this.myButton_Clicked);
……对比这个?
this.myButton.Click += this.myButton_Clicked;
我怀疑编译器在第二个例子中为我创建了一个新实例。 我确定这是一个新手问题,但谷歌没有发现任何问题。 谁能给我一些见解?
第二种语法是C#2.0中引入的第一种语法的快捷方式。
是的,第二个版本使编译器创建一个隐式委托,就像你可以指定this.MyMethod
而不是new Action(this.MyMethod)
或new Action(() => this.MyMethod())
。