我想知道在 C# 中有两种使用委托的方法,使用“new”关键字和不使用:
delegate void D(string value);
static void Main()
{
D d1 = new D(v => Console.WriteLine(v)); // 1
D d2 = v => Console.WriteLine(v); // 2
d1.Invoke("cat");
d2.Invoke("cat");
Console.ReadLine();
}
有什么区别吗?
PS我注意到Visual Studio表单设计器使用“new”关键字(用于事件)生成代码,但是当我(从生成的代码中)删除它时,它可以工作:
this.button1.Click += new System.EventHandler(this.button1_Click);
this.button1.Click += this.button1_Click;