[轉載]c#中自定義事件的定義

c#自定義事件
1、聲明一個委託類  public delegate SomethingChangedHandler(object sender,EventArgs e);
2、在你的類中聲明一個事件綁定到該委託 public event SomethingChangedHandler Changed;
3、在相應的方法中觸發此事件
      public void ChangeSomething()
      {
         .................
         Changed(this,new EventArgs);   //觸發事件
        
      }
4、在調用者訂閱事件
      your class's instance.Changed+=new SomethingChangedHandler(你的方法名);
5、取消訂閱
 訂閱該事件的對象.Changed-=new SomethingChangedHandler(你的方法名);

注意:
    因爲c#中事件是通過委託實現的,而委託不能被繼承,所以導致事件只能在其定義的類中按
事件名(該事件委託的參數...) 的形式觸發。如果一個事件需要在派生類中被觸發,可以在基類中定義一個觸發該事件的方法 SendSomeEvent(),派生類中重寫該方法,並調用base.SendSomeEvent();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章