为什么在.Net中使用"新的EventHandler(处理程序)"?

boh*_*nko 2 .net event-handling visual-studio

在VisualStudio 2008和2010中,当我输入时,例如

this.Activated += 
Run Code Online (Sandbox Code Playgroud)

并按Tab键,VisualStudio会自动补充该行:

this.Activated += new EventHandler(MainWindow_Activated);
Run Code Online (Sandbox Code Playgroud)

但更简单,更简洁的版本也适用:

this.Activated += MainWindow_Activated;
Run Code Online (Sandbox Code Playgroud)

这些线是否相同?new EventHandler可能有一个原因......

Eri*_*sch 5

当您使用短版本时,较新版本的C#推断长版本.这意味着即使您编写的代码较少,它仍会编译为较长的版本.