主頁 > 知識庫 > .net自定義事件示例分享

.net自定義事件示例分享

熱門標(biāo)簽:網(wǎng)站排名優(yōu)化 人工智能 客戶服務(wù) 科大訊飛語音識別系統(tǒng) 百度AI接口 電銷業(yè)務(wù) 國美全國運(yùn)營中心 電商新玩法

1、新建一個控制臺應(yīng)用程序TestDelegate,本項(xiàng)目主要實(shí)現(xiàn):熱水器加熱,報警器監(jiān)控,當(dāng)熱水溫度達(dá)到80度的時候報警器報警這樣一個簡單的事件處理程序

2、定義委托處理程序

復(fù)制代碼 代碼如下:

public delegate void PlayGameHandler(object sender, System.EventArgs e);

3、添加一個報警器類,報警方法只有在溫度超過80度的時候會被調(diào)用

復(fù)制代碼 代碼如下:

// 負(fù)責(zé)報警的人
    public class 報警器
    {
        public 報警器()
        {
            Console.WriteLine("生成報警器...");
        }
        public void 報警(object sender, EventArgs e)
        {
            System.Threading.Thread.Sleep(100);//休息0.1秒
            Console.WriteLine("滴滴。。。。溫度超過80度...");
        }
    }

4、添加一個熱水器類,利用循環(huán)加熱熱水器,從一度增加到100度,當(dāng)溫度超過80度時候觸發(fā)事件報警

復(fù)制代碼 代碼如下:

// 如果加熱,則引發(fā)事件
    public class 熱水器
    {
        // 先定義一個事件,這個事件表示“熱水器”在加熱。
        public event PlayGameHandler PlayGame;
        public 熱水器()
        {
            Console.WriteLine("生成熱水器....");
        }

        public void 加熱()
        {
            Console.WriteLine("開始加熱了.....");
            System.EventArgs e = new EventArgs();
            for (int i = 1; i 101;i++)//溫度每增加一度調(diào)觸發(fā)一次事件
            {
                System.Threading.Thread.Sleep(100);//休息0.1秒
                Console.WriteLine(i.ToString()+"度");
                if (PlayGame != null)
                {
                    if(i>=80)//當(dāng)溫度大于80度
                    PlayGame(this, e);//觸發(fā)事件
                }
            }

        }
    }

5、客戶端開始調(diào)用

復(fù)制代碼 代碼如下:

public class Program
    {
        //[STAThread]
        public static void Main(string[] args)
        {
            Console.WriteLine("場景開始了....");
            報警器 w = new 報警器();
            熱水器 z = new 熱水器();

            // 指定監(jiān)視
            z.PlayGame += new PlayGameHandler(w.報警);
            System.Threading.Thread.Sleep(1000);
            // 開始加熱
            z.加熱();
            Console.WriteLine("場景結(jié)束...");
            Console.ReadLine();
        }

    }





大家運(yùn)行一下可以看到更多數(shù)據(jù)顯示

您可能感興趣的文章:
  • .NET開發(fā)基礎(chǔ):從簡單的例子理解泛型 分享
  • .net泛型通用函數(shù)的特殊問題的解決方法
  • 使用.NET中的Action及Func泛型委托深入剖析
  • .net使用自定義類屬性實(shí)例
  • asp.net自定義控件中注冊Javascript問題解決方案
  • asp.net自定義分頁控件示例
  • 關(guān)于asp.net 自定義分頁控件
  • ASP.Net巧用窗體母版頁實(shí)例
  • .NET事件監(jiān)聽機(jī)制的局限與擴(kuò)展分析
  • .NET基礎(chǔ)之自定義泛型分析

標(biāo)簽:廈門 棗莊 咸寧 益陽 攀枝花 南平 POS機(jī) 拉薩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《.net自定義事件示例分享》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266