【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所商定的方法。