委託就是把一個函數封裝成對象,強化了c#的面向對象特性, 用法還在摸索c#
事件是委託的特殊拓展,事件的使用主要包括:函數
1.被委託者的建立
public delegate void XXEventHandler(Parameter A,~); //多播時返回只能是void,且使用該被委託者時 3,5中的參數必須保持一致spa
2.定義事件
public event XXEventHandler XXEvent;對象
3.被委託者服務(自定義方法)的實現 //即事件發生時,須要被委託者作什麼事情
void Serve(Parameter A,~){~}事件
4.委託服務的訂閱(事件關聯)
觸發者.XXEvent += new XXEventHandler(Serve); //參數能夠是靜態方法也能夠是某個實例的自有方法,在這一步咱們定義的方法已經被封裝event
//事件通常定義在觸發者的類裏,好比按鈕被點擊這個事件, 點擊事件就被定義在Button類裏方法
5.事件觸發
觸發者.XXEvent(paraA,~);margin
這樣在事件被觸發時,被委託者就能夠執行咱們訂閱的服務co