首先新建一個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("屬性值發生變化"); }
運行截圖:

