连接EventHandlers

时间:2011-05-27 13:55:31

标签: c# events delegates event-handling

之间有区别吗?
Object.Event += new System.EventHandler(EventHandler);
Object.Event -= new System.EventHandler(EventHandler);

Object.Event += EventHandler;
Object.Event -= EventHandler;

?如果是这样,是什么?

它们不只是指向方法的指针吗?

2 个答案:

答案 0 :(得分:6)

两者完全相同。 但是

Object.Event += EventHandler;
Object.Event -= EventHandler;

上面的示例仅在3.0或更高版本的C#中编译,如果您在2.0或之前 你只能使用以下构造。

Object.Event += new System.EventHandler(EventHandler);
Object.Event -= new System.EventHandler(EventHandler);

Type inferencing了解更多信息。搜索“类型推断”

答案 1 :(得分:2)

不,他们完全一样。第二个版本纯粹是一种简写,编译器为您创建事件处理程序的实例。就像简化属性语法一样,使用等...所有编译器魔法!

请参阅此相关问题:

Difference between wiring events using "new EventHandler<T>" and not using new EventHandler<T>"?