zoukankan      html  css  js  c++  java
  • C#通过事件监控属性值的变化

    首先新建一个Person类  ,假设通过事件来检测Person类中的属性Name的变化;

          private string name;
    
            public string Name
            {
                get { return this.name; }
                set
                {
                    if (value != this.name)
                    {
                        WhenValueChange(); 
                    }
                    this.name=value;
                }
            }

    WhenValueChange()方法是在属性Name发生变化时所执行的方法;

     ////定义的委托 
       public delegate void  delValueChange(object sender, EventArgs e) ;
    //委托相关联的事件 
    public event delValueChange OnValueChanged; 
    
     public void WhenValueChange()
     {
                if(OnValueChanged!=null)
                {
                    OnValueChanged(this, null);
                }
       }

    编写测试类:

    static void Main(string[] args)
            {
                Person P = new Person();
                P.Name = "张三";
                Console.WriteLine(P.Name);
                P.OnValueChanged += new delValueChange(P_OnValueChanged);
                P.Name = "Test";
                Console.ReadLine();
            }
    
            static void P_OnValueChanged(object sender, EventArgs e)
            {
                Console.WriteLine("属性值发生变化");
            }

    运行截图:

  • 相关阅读:
    最大流EK算法/DINIC算法学习
    hdu-3065-AC自动机
    51nod-1636-dp
    nyoj-1316-二分
    HDU-4510-日期
    HDU-2896-AC自动机
    51nod-1385-贪心-构造
    SpringMVC实现Restful风格的WebService
    SpringMVC使用中遇到的问题总结
    Boostrap(3)
  • 原文地址:https://www.cnblogs.com/h20064528/p/2850637.html
Copyright © 2011-2022 走看看