NET Framework 类库中的所有事件均基于 EventHandler 委托,定义如下:
//sender:事件源,EventArgs:包含事件数据的类的基类
public delegate void EventHandler(object sender, EventArgs e);
NET Framework 2.0 引入了此委托的一个泛型版本
[SerializableAttribute]
public delegate void EventHandler<TEventArgs>(
Object sender,
TEventArgs e
)
where TEventArgs : EventArgs //泛型必须继承于EventArgs
下面基于代码解释,.NET Framework 下的事件发布,订阅模式