位置:首頁 > 軟件操作教程 > 編程開發(fā) > C# > 問題詳情

C# EventHandler 和泛型 EventHandler<T>類型

提問人:劉團(tuán)圓發(fā)布時間:2020-12-08

    大多數(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作為實參值。

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部