event & EventHandler
【event & EventHandler】
在老C#中EventHandler指的是一个需要定义一个delegate,这个delegate是回调的规范。例如:
public delegate void CustomEventHandler(object sender, CustomEventArgs a);
在新C#中,内置了一个EventHandler<T>范型。
event是一个关键字,用event关键字可以定义一个event对象。
public event CustomEventHandler RaiseCustomEvent;
在新C#下,可以像下面这么写:
public event EventHandler<CustomEventArgs> RaiseCustomEvent;
最后,参数要从EventArgs类继承。
【实战Demo】
1、定义EventArgs类的子类,以实现自己的事件类型。
2、定义Publisher类,此类中需包含一个event成员变量。
3、Subscriber中实现了向Publisher注册,以及实现一个EventHanlder所商定的方法。