程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#事件的簡單認識,

C#事件的簡單認識,

編輯:C#入門知識

C#事件的簡單認識,


 事件是C#的一個重要特性。事件主要涉及發布者,訂閱者,以及事件處理程序。

 使用.net 類庫中預定義的委托類型可以很方便的定義事件。    發布者觸發事件後,訂閱者即執行事件處理函數:代碼及運行結果如下:

   

 public class Yiqiok            //事件發布者
    {
        public event EventHandler LolInvite;  //使用.NET類庫預定義的委托類型定義事件
        public void InviteComing(string msg)  //發出事件
        {
            if(LolInvite!=null)   //檢查是否添加了事件處理方法
            {
                Console.WriteLine(msg);
                LolInvite(this, new EventArgs());  //觸發事件

            }
        }
        
    }
    public class Classmate  //事件訂閱者
    {
        private string name;
        public Classmate (string Name)
        {
            name = Name;
        }
        public void SendResponse(object s,EventArgs e)  //事件處理函數,要與預定義委托類型匹配
        {
            Console.WriteLine("來自:" + this.name + "的回復: 已經收到邀請,隨時可以開始!");
        }
    }
    public class Start
    {
        static void Main()
        {
            Yiqiok yiqiok = new Yiqiok();//初始化
            Classmate classmate1 = new Classmate("Lna");
            Classmate classmate2 = new Classmate("Jim");
            Classmate classmate3 = new Classmate("Cry");
            Classmate classmate4 = new Classmate("Tom");

            yiqiok.LolInvite += new EventHandler(classmate1.SendResponse);//訂閱事件
            yiqiok.LolInvite += new EventHandler(classmate2.SendResponse);
            yiqiok.LolInvite += new EventHandler(classmate3.SendResponse);
            yiqiok.LolInvite += new EventHandler(classmate4.SendResponse);

            yiqiok.InviteComing("yiqiok:五人開黑來不來???");  //發出通知

        }
    }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved