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();

你可能感兴趣的:(自定义)