發布者和訂閱者
通知事件發生的,就是發布者;
對某個事件關注,就是訂閱者。
事件觸發和注冊
事件發生時,會通知所有關注該事件的訂閱者。
想在事件發生時被通知,必須注冊以表示關注。
用程序語言解釋
事件發生時,通知訂閱者,就是調用訂閱者的注冊函數。注冊,就是告訴發布者調用哪一個注冊函數。
事件聲明
delegate void Handler();
public event Handler NewDog;//Handler 是委托類型,NewDog為事件名
NewDog是一個成員,并且會被隱式自動初始化為null
事件訂閱
NewDog + = 方法 //關注
NewDog - = 方法 //取消關注
方法可以是,實例方法,靜態方法,匿名方法、Lambda表達式
事件觸發
if(NewDog!=null){
NewDog();
}
事件可以理解為一種封裝的受限制的委托,委托當中包含著訂閱者的注冊函數,事件觸發就是調閱委托當中的回調函數。
運行結果