//通知已订阅事件的对象 protected virtual void OnClick(ClickEventArgs e) { ClickEventHandler temp = NewClick; //MulticastDelegate一个委托链表 //通知所有已订阅事件的对象 if (temp != null) temp(this, e); //通过事件委托逐一回调客户端的方法 }
private void OnClickDown(object sender, ClickEventArgs e) { // 真正的事件处理函数 playwave.play(e.Song); playwave.savehistory(e.Song, e.Time); }
//提供一个方法,引发事件 public void SimulateClick(int num, int diff) { ClickEventArgs e = new ClickEventArgs(num, diff); OnClick(e); }