在VisualStudio 2008和2010中,当我输入时,例如
this.Activated +=
并按Tab键,VisualStudio会自动补充该行:
this.Activated += new EventHandler(MainWindow_Activated);
但更简单,更简洁的版本也适用:
this.Activated += MainWindow_Activated;
这些线条是否相同? new EventHandler
可能是有原因的......
答案 0 :(得分:5)
当您使用短版本时,较新版本的C#推断长版本。这意味着即使您编写的代码较少,它仍会编译为较长的版本。
答案 1 :(得分:3)
Jon Skeet在his Refcard写道:
C#2
C#2介绍了两个重要的 改进我们可以创造的方式 委托实例。
- 你不再 需要新的代表类型部分:
醇>
StringPredicate predicate = fveCharacters.Filter;
表示从C#2开始,您可以使用上述代替
StringPredicate predicate = new StringPredicate(fveCharacters.Filter);
所以我猜测Visual Studio会将其放在那里以实现向后兼容。