最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c#之事件用法

 更新時(shí)間:2022年04月11日 17:29:39   作者:Ruby_Lu  
這篇文章介紹了c#中事件的用法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

事件基于委托,可以為任何一種委托類型提供一種發(fā)布\訂閱機(jī)制。
使用event關(guān)鍵字將一個(gè)委托類型定義為事件。
下面通過一個(gè)例子介紹事件:

//事件發(fā)布類
        public class PublishEvent
        {
            public delegate string Display(string str);
            public event Display DisplayEvent;

            //客戶端代碼通過調(diào)用這個(gè)方法觸發(fā)事件
            public void Shows(string str)
            {
                if (DisplayEvent != null)
                {
                    DisplayEvent(str);
                }
            }

        }

        //事件偵聽類,這個(gè)類訂閱事件
        public class Listen1
        {
            public string MakeAlert(string str)
            {
                Console.WriteLine(str + "Listen1");
                return str + "Listen1";
            }
        }
        public class Listen2
        {
            public string ShowMsg(string str)
            {
                Console.WriteLine(str + "Listen2");
                return str + "Listen2";
            }
        }

客戶端代碼:

class Program
        {
            static void Main()
            {
                PublishEvent pe = new PublishEvent();
                Listen1 l1 =  new Listen1();
                Listen2 l2 = new Listen2();

                //變量l1和l2訂閱了事件
                pe.DisplayEvent += l1.MakeAlert;
                pe.DisplayEvent += l2.ShowMsg;

                //觸發(fā)事件
                pe.Shows("事件");

                Console.ReadKey();

            }
        }

事件就是一個(gè)特殊的委托(http://m.fzitv.net/article/244051.htm),它是一個(gè)用于事件驅(qū)動(dòng)模型的專用委托.你可以在客戶代碼中直接調(diào)用委托來(lái)激發(fā)委托指向的函數(shù),而事件不可以,事件的觸發(fā)只能由服務(wù)代碼自己觸發(fā)。也就是說(shuō)在你的代碼里委托你不但可以安排誰(shuí)是它的調(diào)用函數(shù),還可以直接調(diào)用它,而事件不能直接調(diào)用,只能通過某些操作觸發(fā)。除此之此,事件擁有委托的所有功能,包括多播特性。即事件可以有多個(gè)事件處理函數(shù),委托同樣也可以是個(gè)多播委托.
事件是封裝過的委托實(shí)例;委托是類型,事件是實(shí)例!
EventHandler<TEventArgs>.NET自帶的委托,也用于定義事件。

到此這篇關(guān)于c#之事件用法的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# 字符串、數(shù)組和List的截取和轉(zhuǎn)換實(shí)例

    C# 字符串、數(shù)組和List的截取和轉(zhuǎn)換實(shí)例

    下面小編就為大家分享一篇C# 字符串、數(shù)組和List的截取和轉(zhuǎn)換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2017-11-11
  • 使用C#實(shí)現(xiàn)RTP數(shù)據(jù)包傳輸 參照RFC3550

    使用C#實(shí)現(xiàn)RTP數(shù)據(jù)包傳輸 參照RFC3550

    本篇文章小編為大家介紹,使用C#實(shí)現(xiàn)RTP數(shù)據(jù)包傳輸 參照RFC3550,需要的朋友參考下
    2013-04-04
  • 用c# 自動(dòng)更新程序

    用c# 自動(dòng)更新程序

    這篇文章主要介紹了用c# 自動(dòng)更新程序的代碼示例,幫助大家更好的理解和使用c#編程語(yǔ)言,感興趣的朋友可以了解下
    2020-11-11
  • C#定時(shí)器和隨機(jī)數(shù)

    C#定時(shí)器和隨機(jī)數(shù)

    在前一篇中我們介紹了鍵盤和鼠標(biāo)事件,其實(shí)還有一個(gè)非常常用的事件,就是定時(shí)器事件,如果要對(duì)程序?qū)崿F(xiàn)時(shí)間上的控制,那么就要使用到定時(shí)器。而隨機(jī)數(shù)也是很常用的一個(gè)功能,在我們要想產(chǎn)生一個(gè)隨機(jī)的結(jié)果時(shí)就要使用到隨機(jī)數(shù)。本文我們就來(lái)簡(jiǎn)單介紹一下定時(shí)器和隨機(jī)數(shù)。
    2015-06-06
  • C#使用時(shí)序數(shù)據(jù)庫(kù)InfluxDB的教程詳解

    C#使用時(shí)序數(shù)據(jù)庫(kù)InfluxDB的教程詳解

    InfluxDB是一個(gè)開源的時(shí)序數(shù)據(jù)庫(kù),可以自動(dòng)處理時(shí)間序列數(shù)據(jù),這篇文章主要為大家詳細(xì)介紹了C#如何使用InfluxDB,感興趣的小伙伴可以跟隨小編一起了解下
    2023-11-11
  • C#實(shí)現(xiàn)農(nóng)歷日歷的方法

    C#實(shí)現(xiàn)農(nóng)歷日歷的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)農(nóng)歷日歷的方法,詳細(xì)分析了使用C#實(shí)現(xiàn)農(nóng)歷日歷的完整步驟,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • c#如何使用 XML 文檔功能

    c#如何使用 XML 文檔功能

    這篇文章主要介紹了c#如何使用 XML 文檔功能,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-10-10
  • Unity實(shí)現(xiàn)鼠標(biāo)點(diǎn)2D轉(zhuǎn)3D進(jìn)行旋轉(zhuǎn)

    Unity實(shí)現(xiàn)鼠標(biāo)點(diǎn)2D轉(zhuǎn)3D進(jìn)行旋轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)鼠標(biāo)點(diǎn)2D轉(zhuǎn)3D進(jìn)行旋轉(zhuǎn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Unity實(shí)現(xiàn)游戲傷害數(shù)字顯示HUD的方法

    Unity實(shí)現(xiàn)游戲傷害數(shù)字顯示HUD的方法

    游戲中收到傷害掉血,會(huì)有飄動(dòng)的傷害數(shù)值,本文主要介紹Unity實(shí)現(xiàn)游戲傷害數(shù)字顯示HUD的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C#數(shù)據(jù)適配器DataAdapter

    C#數(shù)據(jù)適配器DataAdapter

    這篇文章介紹了C#中的數(shù)據(jù)適配器DataAdapter,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05

最新評(píng)論

营山县| 平凉市| 松江区| 涟水县| 房产| 恩平市| 临邑县| 溧水县| 陇川县| 涞源县| 伊春市| 淮滨县| 紫阳县| 阿克陶县| 舞钢市| 自治县| 金坛市| 绥棱县| 蒙城县| 沭阳县| 新沂市| 无极县| 盐亭县| 鹤峰县| 镇平县| 南通市| 寿阳县| 木里| 米林县| 宣汉县| 三门峡市| 华坪县| 宁明县| 水富县| 南涧| 汝城县| 金门县| 汕尾市| 家居| 吉安县| 区。|