亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

C# 委托

Original 2016-11-09 15:44:25 494
abstract:帶有命名方法的委托與帶有匿名方法的委托  委托可以與命名方法關(guān)聯(lián)。  使用命名方法對委托進(jìn)行實(shí)例化時,該方法將作為參數(shù)傳遞,例如:        class Program       {      

帶有命名方法的委托與帶有匿名方法的委托

  委托可以與命名方法關(guān)聯(lián)。  使用命名方法對委托進(jìn)行實(shí)例化時,該方法將作為參數(shù)傳遞,例如:  

      class Program
      {
          //聲明一個委托
          delegate void MyDel(string message);
  
          
          static void Main(string[] args)
          {
              //使用靜態(tài)方法作為參數(shù)實(shí)例化委托
             MyDel del = Print;
         }
 
         //聲明一個方法
         private static void Print(string message)
         {
             Console.WriteLine(message);
         }
     }

復(fù)制代碼

  這被稱為使用命名的方法。  使用命名方法構(gòu)造的委托可以封裝靜態(tài)方法或?qū)嵗椒āT谠缙诎姹镜?C# 中,命名方法是對委托進(jìn)行實(shí)例化的唯一方式。  但是,在不希望付出創(chuàng)建新方法的系統(tǒng)開銷時,C# 使您可以對委托進(jìn)行實(shí)例化,并立即指定委托在被調(diào)用時將處理的代碼塊。  代碼塊可以包含 lambda 表達(dá)式或匿名方法。  

  【備注】①作為委托參數(shù)傳遞的方法必須與委托聲明具有相同的簽名。②委托實(shí)例可以封裝靜態(tài)或?qū)嵗椒?。③盡管委托可以使用 out 參數(shù),但建議您不要將其用于多路廣播事件委托,因?yàn)槟鸁o法知道哪個委托將被調(diào)用。

  示例1:以下是聲明及使用委托的一個簡單示例。  注意,委托 MyDel 和關(guān)聯(lián)的方法 Print 具有相同的簽名(即便方法的參數(shù)名稱 m 和 n 的位置替換)  

復(fù)制代碼

      class Program
      {
          //聲明一個委托
          delegate void MyDel(int n, int m);
  
          static void Main(string[] args)
          {
              //使用靜態(tài)方法 Print 作為參數(shù)實(shí)例化委托
              MyDel del = Print;
             Console.WriteLine("準(zhǔn)備好了哦,要開始調(diào)用委托了哦!");
 
             for (int i = 0; i < 10; i++)
             {
                Print(i, 1);
             }
 
             Console.Read();
         }
 
         //聲明一個方法
         private static void Print(int m, int n)
         {
             Console.Write(m - n + " ");
         }
     }


Release Notes

Popular Entries