zoukankan      html  css  js  c++  java
  • event(事件)

    事件是一种特殊的委托,只能在类的内部进行+=或 -=操作

    为什么我们要用事件,比如

    class Cat
        {
            private string CatName;
            private string Catcolor;
            public Cat(string CatName, string Catcolor)
            {
                this.CatName = CatName;
                this.Catcolor = Catcolor;
            }
            public void CatComing ()
            {
                Console.WriteLine(Catcolor+""+CatName + "进来了");
                if(Catcome!=null)
                Catcome();
               
            }
            public Action Catcome;
        }
    class Mouth
        {
            private string Name;
            private string color;
            public Mouth(string Name, string color,Cat cat)
            {
                this.Name = Name;
                this.color = color;
                cat.Catcome += this.mouthcoming;
            }
            public void mouthcoming() {
               
                Console.WriteLine(color + "" + Name + "说快跑");
            }
        }
    class Program
        {
            static void Main(string[] args)
            {
                Cat cat = new Cat("加菲猫","黄色的");
                Mouth mouth1 = new Mouth("米老鼠", "黑色的",cat);
    
                cat.CatComing();
                cat.Catcome();//这里可以对Catcome委托进行调用,程序的耦合性提高会有危险
                Console.ReadKey();
            }
        }

    为了降低程序的耦合性,将public Action Catcome;声明为事件public event Action Catcome;

    public Action Catcome;
  • 相关阅读:
    Omi框架学习之旅
    Omi框架学习之旅
    Omi框架学习之旅
    加密解密
    RSA加密解密
    CMDB后台管理(AutoServer)
    CMDB Autoclient思路分析
    CMDB开发(需求分析)
    Django之model操作(续)
    Django之Model操作
  • 原文地址:https://www.cnblogs.com/jiangxiaoming/p/13115300.html
Copyright © 2011-2022 走看看