以下程序沒有調試﹐但基本上是事件的典型用法﹔但有可能大家不喜歡
自己定義事件參數。
-----------------------------------------
//聲明事件代表
public delegate void myEventHandler(object sender,
                                          ChangeEventArgs e);
//事件參數類型
public class ChangeEventArgs:System.EventArgs
{ .... }
//宿主類
public class myProducer
{
   public event myEventHandler Changing;
   ....
   //一旦調用這個方法就印發事件﹐e可以=null
   protected void OnChange(ChangeEventArgs e)   {
     ...
     if(Changing!=null)
        Changing(this,e);   //印發事件的方法
   } 
}
  
//事件訂閱類
public class myConsumer{
  myProducer producer;
  public myConsumer(){
     producer=new myProducer();
     producer.Changing+=new myEventHandler(callbackProc);
  }  void callbackProc(object sender,ChangeEventArgs e)
  {
    Debug.Assert("my call back is running!")
  }
}