使用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
有效的语法糖 。
它知道您将事件处理程序附加到事件,因为此时只有+=
和-=
有效,所以您不需要告诉它该做什么。