1. 程式人生 > >C#委託學習筆記

C#委託學習筆記


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))的引數。