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

时间:2009-12-10 22:40:06

标签: c# events syntax

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

_gMonitor.CollectionChanged += new NotifyCollectionChangedEventHandler(OnCollectionChanged);

vs

_gMonitor.CollectionChanged += OnCollectionChanged;

2 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分:3)

编译器有足够的信息可以使new EventHandler有效syntactic sugar

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