博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#中怎样实现当一个类实例的属性值改变时,触发事件调用另一个方法?
阅读量:6797 次
发布时间:2019-06-26

本文共 1595 字,大约阅读时间需要 5 分钟。

using System; namespace ConsoleApplication7 {       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);              }           }    } }

//请参考

从你写的程序来看    从类的外部是不可能改变属性的值了,因为你的这两个属性都是只读的,   只能在类的内部改变_a _b的值
那样你写这个类的时候 你应该很清楚哪里改变了_a _b的值  真接调用相应的改变方法就行了
所以你写的这个类 要让属性在类外部也能改变其值  不然属性值的改变只在类内部并触发事件也就没什么意义了

转载地址:http://viego.baihongyu.com/

你可能感兴趣的文章
高桥洋接任索尼中国总裁:索尼营销第一人
查看>>
知乎iOS客户端下午瘫了 原来是第三方防火墙变更害的
查看>>
监控工程中,如何选择光纤的种类和芯数
查看>>
“小病进社区,大病进医院”难吗?
查看>>
20种 IT 职业明年将大幅涨薪,无线网络工程师最高
查看>>
《C语言编程——零基础初学者指南(第3版)》一第2章 编写第一个C程序2.1 概述...
查看>>
《HTML5+CSS3网页设计入门必读》——1.3 理解Web内容递送
查看>>
oracle table-lock的5种模式
查看>>
《 线性代数及其应用 (原书第4版)》——2.8 R^n的子空间
查看>>
初创公司如何快速低耗实现数据化运营
查看>>
《循序渐进学Docker》——导读
查看>>
《树莓派开发实战(第2版)》——1.8 使用复合视频显示器/TV
查看>>
编码之道:取个好名字很重要
查看>>
《树莓派开发实战(第2版)》——1.5 通过NOOBS刷写microSD卡
查看>>
《Python Cookbook(第3版)中文版》——1.7 让字典保持有序
查看>>
在 Linux 中设置 sudo 的十条 sudoers 实用配置
查看>>
Linux 有问必答:如何在 Linux 中永久修改 USB 设备权限
查看>>
《第三方JavaScript编程》——7.2 跨站脚本
查看>>
《师兄教你找工作——100场面试 20个offer背后的求职秘密》一导读
查看>>
为PetaPoco添加Fill方法
查看>>