當午夜時分小偷到達時,dog調用 dog.OnAlarm()函數,從而觸發Alarm事件,於是系統找到並執行了注冊在Alarm事件中的事件處理程序 HostHandleAlarm().
事件處理委托習慣上 以EventHandler結尾,比如AlarmEventHandler。事件Alarm實際上是事件處理委托AlarmEventHandler的 一個實例。引發事件的代碼常常被編寫成一個函數,.Net約定這種函數的名稱為 “OnEventName”,比如OnAlarm()的函數。在Host類中,我們定義了事件處理程序 HostHandleAlarm(),並把它注冊到dog.Alarm事件中。
事件處理程序的參數 應該和事件委托相同。一般情況下,事件處理程序接受兩個參數,一個是事件的發送者sender,一個是事 件參數e[①]。事件參數用於在發送者和接收者之間傳遞信息。