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

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

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

    大多數(shù)情況下,都應(yīng)使用返回類型為void、帶兩個(gè)參數(shù)的事件處理程序。第一個(gè)參數(shù)的類型是object,是事件源。第二個(gè)參數(shù)的類型派生于System.EventA屯s,包含任意事件實(shí)參。這非常常見(jiàn),為此.NET提供了兩個(gè)委托類型EventHandler和EveiitHmKiler<T>,以便定義事件。它們都是委托,使用標(biāo)準(zhǔn)的事件處理模式。泛型版本允許指定要使用的事件實(shí)參的類型。

在前面的示例中演示了這一點(diǎn),使用了泛型委托類型EventHamller<T>t如下所示:

    public class Connection 

    {

        public event EventHandler<MessageArrivedEventArgs> MessageArrived;

        ...

    }

這顯然是件好事,因?yàn)樗?jiǎn)化了代碼。一般來(lái)說(shuō),在定義事件時(shí),最好使用這些委托類型,注意,如果事件不需要事件實(shí)參數(shù)據(jù),仍然可以使用EventHandler委托類型,只不過(guò)要傳遞EventAigs.Empty作為實(shí)參值。

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

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