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