C#委託學習筆記
阿新 • • 發佈:2018-12-16
namespace Delegate { //定義委託,它定義了可以代表的方法的型別 public delegate void GreetingDelegate(string name); class Program { private static void EnglishGreeting(string name) { Console.WriteLine("Morning, " + name); } private static void ChineseGreeting(string name) { Console.WriteLine("早上好, " + name); } //注意此方法,它接受一個GreetingDelegate型別的方法作為引數 private static void GreetPeople(string name, GreetingDelegate MakeGreeting) { MakeGreeting(name); } static void Main(string[] args) { GreetPeople("Jack Ma", EnglishGreeting); GreetPeople("馬雲", ChineseGreeting); Console.ReadKey(); } } } 輸出如下: Morning, Jack Ma 早上好, 馬雲 //總結,Delegate可以把方法(例如具有相同引數x的方法A,B,C...)作為方法(需要呼叫A(x),B(x),C(x))的引數。