C# EventHandler 和泛型 EventHandler<T>類型
大多數(shù)情況下,都應(yīng)使用返回類型為void、帶兩個參數(shù)的事件處理程序。第一個參數(shù)的類型是object,是事件源。第二個參數(shù)的類型派生于System.EventA屯s,包含任意事件實參。這非常常見,為此.NET提供了兩個委托類型EventHandler和EveiitHmKiler<T>,以便定義事件。它們都是委托,使用標(biāo)準(zhǔn)的事件處理模式。泛型版本允許指定要使用的事件實參的類型。
在前面的示例中演示了這一點,使用了泛型委托類型EventHamller<T>t如下所示:
public class Connection
{
public event EventHandler<MessageArrivedEventArgs> MessageArrived;
...
}
這顯然是件好事,因為它簡化了代碼。一般來說,在定義事件時,最好使用這些委托類型,注意,如果事件不需要事件實參數(shù)據(jù),仍然可以使用EventHandler委托類型,只不過要傳遞EventAigs.Empty作為實參值。
點擊加載更多評論>>