Events 事件事件处理程序之间的差异<;T>;vs EventHandler<;T>;

Events 事件事件处理程序之间的差异<;T>;vs EventHandler<;T>;,events,.net-3.5,syntax,event-handling,Events,.net 3.5,Syntax,Event Handling,这两种说法的区别是什么 private static event EventHandler<MyEventArg> MyNewEvent; private static EventHandler<MyEventArg> MyNewEvent; private静态事件处理程序MyNewEvent; 私有静态事件处理程序MyNewEvent; 他们的行为似乎都一样。我正在使用.NET3.5。有没有其他方法来定义它,使它们在功能上完全相同?区别在于,您只能从声明事件的类中调

这两种说法的区别是什么

private static event EventHandler<MyEventArg> MyNewEvent;
private static EventHandler<MyEventArg> MyNewEvent;
private静态事件处理程序MyNewEvent;
私有静态事件处理程序MyNewEvent;

他们的行为似乎都一样。我正在使用.NET3.5。有没有其他方法来定义它,使它们在功能上完全相同?

区别在于,您只能从声明事件的类中调用该事件

事件类似于自动属性。对于编译器创建的每个事件:

  • 底层私有委托
  • 添加
    公共方法
  • 删除
    公共方法
  • 当其他类执行
    +=
    操作时,它将转换为调用
    add
    。由于委托是私有的,所以不能从其他类调用它,并且不可能自由地获取/更改调用列表