在我可以找到的所有示例以及Visual Studio中自动生成的代码中,使用以下代码设置事件:
button1.Click += new System.EventHandler(this.button1_Click);
Run Code Online (Sandbox Code Playgroud)
但我也可以通过省略构造函数包装器在视觉上更清晰地编写它:
button1.Click += this.button1_Click;
Run Code Online (Sandbox Code Playgroud)
哪个也编译好.
这两者有什么区别?为什么第一个主要使用/首选?
在C#2之前不支持第二种形式(从方法组到委托类型的隐式转换),因此在2005之前编写的任何教程等都将使用第一种形式.
此外,IIRC Visual Studio自动完成第一个表单.我个人更喜欢第二个.