public delegate void EventHandler(object sender, EventArgs e); pulic EventHandler HandleMapMessage; HandleMapMessage = MapControl; public void MapControl(obeject sender,EventArgs e) { .... }
C#裡的Delegate據說相當於C++函數指針。如上例首先,用語法delegate 定義個一個delegate(和函數簽名完全一樣,只是多了個關鍵字delegate),相當於自定義了一個類型。然後可以聲明一個自定義委托的一個實例(有點類實例化對象的意思),如代碼裡的public EventHandler HandelMapMessage; 最後再定義一個具體實現功能的函數,返回類型,參數個數,參數順序和類型必須完全和自定義的委托匹配,估計這樣可以唯一標識。然後賦值一下:HandleMapMessage = MapControl(估計這樣它們就指向同一塊內存地址了)