zoukankan      html  css  js  c++  java
  • c#中实现当一个类实例的属性值改变时,触发事件调用另一个方法

    using System; 
    
    namespace ConsoleApplication
    { 
    class Program 
    { 
    static void Main(string[] args) 
    { 
    people p = new people("Name1"); 
    p.PropertyChanged += new EventHandler(p_PropertyChanged);//注册事件处理函数 
    p.Name = "Name2"; 
    Console.ReadKey(); 
    } 
    
    static void p_PropertyChanged(object sender, EventArgs e)//事件的处理函数 
    { 
    Console.WriteLine("NamePropertyChanged:"+(sender as people).Name); 
    } 
    } 
    class people 
    { 
    //事件名
    public event EventHandler PropertyChanged; private string name=String .Empty; public people(string name) { this.name = name; } public string Name { get { return name; } set { name = value; this.OnPropertyChanged(new EventArgs());//每次改变Name值调用方法; } } private void OnPropertyChanged(EventArgs eventArgs) { if (this.PropertyChanged != null)//判断事件是否有处理函数 { this.PropertyChanged(this, eventArgs); } } } }

    如上面的代码实例可知,当name属性变化时,触发了PropertyChanged事件,开发人员就可以在调用此类时,当name属性发生改变时,做相应的处理。

  • 相关阅读:
    网络协议
    面向对象三大特性之多态
    面向对象三大特性之封装
    面向对象三大特性之继承
    python面向对象编程
    常用模块之configpaser与shutil
    XML模块
    Python模块之OS,subprocess
    Python日志(logging)模块,shelve,sys模块
    Linux 配置 Nginx
  • 原文地址:https://www.cnblogs.com/wylaok/p/2761979.html
Copyright © 2011-2022 走看看