[C#]事件

  • 4632
  • 0

摘要:[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();

        }
    }
}

結果:

我只是個小小的入門者