事件EventHandler <t>与EventHandler <t> </t> </t>之间的区别

时间:2011-04-22 15:11:21

标签: events .net-3.5 syntax event-handling

这两个陈述有什么区别?

private static event EventHandler<MyEventArg> MyNewEvent;
private static EventHandler<MyEventArg> MyNewEvent;

他们似乎都表现得一样。我正在使用.net 3.5。有没有其他方法来定义它,以便它们在功能上相同?

1 个答案:

答案 0 :(得分:2)

不同之处在于,您只能从声明它的类调用事件。

事件就像是自动属性。对于编译器创建的每个事件:

  1. 基础私人代表。
  2. add公共方法。
  3. remove公共方法。
  4. 当其他班级+=时,它会转换为对add的调用。由于委托是私有的,因此不能从其他类调用,并且不可能自由地获取/更改调用列表。