猫叫鼠跑人醒

来源:互联网 发布:4399unity3d插件下载 编辑:程序博客网 时间:2024/05/02 01:26

 #region//method2
    delegate void mydelegate();

    class Human
    {      
        public void Wake()
        {
            Console.WriteLine("主人:死猫别叫");
        }
    }
   
    class Mouse
    {       
        public void Run()
        {
            Console.WriteLine("老鼠:有危险,快撤!");
        }
    }

    class Cat
    {
        internal event mydelegate alertHandler;
        public  Cat()
        {
            alertHandler +=new mydelegate(Alert);
        }
        public void Cry()
        {
            alertHandler();//触发事件
        }
        public void Alert()
        {
            Console.WriteLine("猫:大叫!");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Mouse m = new Mouse();
            Human h = new Human();
            Cat c = new Cat();
            c.alertHandler += new mydelegate(m.Run);
            c.alertHandler += new mydelegate(h.Wake);
            c.Cry();
            Console.WriteLine();
            c.alertHandler -= new mydelegate(m.Run);
            c.Cry();
            Console.ReadLine();
        }
    }
    #endregion

原创粉丝点击