close

    delegate void DangerEvent(int vSpeed);//宣告delegate型別
    class Car
    {
        private int _speed;
        public event DangerEvent Danger; //宣告事件變數Danger
        public int Speed //定義speed屬性
        {
            get
            {
                return _speed;
            }
            set
            {
                if (value > 200)
                {
                    if (Danger != null) 
                    {
                        Danger(value); //啟動事件
                    }
 
                }
                    _speed=value;
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Car Benz = new Car();
            //指定Danger事件由TooFast方法來處理
            //Benz.Danger=Benz.Danger+new DangerEvent(TooFast); //這樣寫有error
            Benz.Danger += new DangerEvent(TooFast);
            Benz.Speed = 300; //會觸發上一行的委派事件
            Console.Read();
        }
        static void TooFast(int vSpeed)
        {
            Console.WriteLine("你目前的速度是{0},超過200,請減速!!!",vSpeed);
        }
    }

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 SU SU 的頭像
    SU SU

    SU SU的部落格

    SU SU 發表在 痞客邦 留言(0) 人氣()