使用New Handler附加Eventhandler与直接分配它

创建新事件处理程序与直接将其分配给事件的实际差异,优缺点是什么?

_gMonitor.CollectionChanged += new NotifyCollectionChangedEventHandler(OnCollectionChanged); 

VS

 _gMonitor.CollectionChanged += OnCollectionChanged; 

在C#2.0及更高版本中,它们是相同的。 在C#1.2(.NET 1.1附带的那个)中,只有第一个语法(使用new )编译;-p

第二种语法保存按键,但VS intellisense通常会建议第一种。 最终,它几乎没有什么区别。 我通常在网上使用代码示例中的第二种语法,因为它避免超过(窄)列宽!

编译器有足够的信息可以使new EventHandler有效的语法糖 。

它知道您将事件处理程序附加到事件,因为此时只有+=-=有效,所以您不需要告诉它该做什么。