C# 中的委托(Delegate)類似於 C 或 C++ 中函數的指針。委托(Delegate) 是存有對某個方法的引用的一種引用類型變數。引用可在運行時被改變。 委托(Delegate)特別用於實現事件和回調方法。所有的委托(Delegate)都派生自 System.Delegate 類。 委托多 ...
C# 中的委托(Delegate)類似於 C 或 C++ 中函數的指針。委托(Delegate) 是存有對某個方法的引用的一種引用類型變數。引用可在運行時被改變。
委托(Delegate)特別用於實現事件和回調方法。所有的委托(Delegate)都派生自 System.Delegate 類。
委托多播實例:例如小明叫小張買完車票,之後接著又讓他帶張電影票:
// 小張類 public class MrZhang { // 其實買車票的悲情人物是小張 public static void BuyTicket() { Console.WriteLine("NND,每次都讓我去買票,雞人呀!"); } public static void BuyMovieTicket() { Console.WriteLine("我去,自己泡妞,還要讓我帶電影票!"); } } //小明類 class MrMing { // 聲明一個委托,其實就是個“命令” public delegate void BugTicketEventHandler(); public static void Main(string[] args) { // 這裡就是具體闡述這個命令是乾什麼的,本例是MrZhang.BuyTicket“小張買車票” BugTicketEventHandler myDelegate = new BugTicketEventHandler(MrZhang.BuyTicket); myDelegate += MrZhang.BuyMovieTicket; // 這時候委托被附上了具體的方法 myDelegate(); Console.ReadKey(); } }