[C#]事件

事件建立的步驟:
1.  建立delegate
2. 使用event敘述宣告事件型別
3. 觸動事件
4. 定義事件
5. 指定物件發生事件所要處理的方法

實作程式碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace @event
{
    //1.  建立delegate型別  
    delegate void DangerEvent(int vSpeed);
    //1.  建立delegate型別 end
    class Car
    {
        private int m_speed;

        //2. 使用event敘述宣告事件 
        public event DangerEvent Danger;
        //2. 使用event敘述宣告事件 end

        public int Speed
        {
            get
            {
                return m_speed;
            }
            set
            {
                if (value >200)
                {
                    //3. 觸動事件 
                    if (Danger != null)
                        Danger(value);
                    //3. 觸動事件 end
                }
                m_speed = value;
            }
        }
            
    }

    class Program
    {
        //4. 定義事件  
        static void Toofast(int vSpeed)
        {
            Console.WriteLine("目前車速是{0},超過200,請減速!!",vSpeed);
        }
        //4. 定義事件  end
        static void Main(string[] args)
        {
            Car Benz = new Car();
            //5. 指定物件發生事件所要處理的方法
            Benz.Danger += new DangerEvent(Toofast);
            //5. 指定物件發生事件所要處理的方法 end 
            Benz.Speed = 300;
            Console.ReadKey();

        }
    }
}
結果:



留言

這個網誌中的熱門文章

[C#]Windows 10 停用與啟用網路卡(連線)[手把手教程][原創]

ASP.NET Web API 將傳回的值轉換從控制器動作至 HTTP 回應訊息的方式。

[C#]程式更改電腦IP位置與電腦名稱