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屬性發生改變時,做相應的處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM