程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 我眼中委托的真正面貌(二)(3)

我眼中委托的真正面貌(二)(3)

編輯:關於C語言

以下是有關委托的一些稍稍復雜的用法舉例:

6.使用委托數組

namespace ObjFunDelegate
{
    delegate double CompuFun(double parama,double paramb);

    class Program
    {
        static void Main(string[] args)
        {
                     //聲明委托數組
            CompuFun[] computefun = new CompuFun[2];

                     //為數組中的多個對象分別掛載不同的方法
            computefun[0] = new CompuFun(DeleMathFuns.AddFun);

            computefun[1] = new CompuFun(DeleMathFuns.MultiplyFun);

                     //通過下標分別調用不同委托對象中的不同方法
            for (int i = 0; i < 2; i++)

            {
                Console.WriteLine("調用方法[{0}]:", i);
                Console.WriteLine("所得結果:{0}", computefun[i](5, 5));
            }
            Console.ReadLine();
        }
    }

    class DeleMathFuns
    {
        public static double AddFun(double a, double b)
        {
            return a + b;
        }

        public static double MultiplyFun(double a, double b)
        {
            return a * b;
        }
    }
}

如果說通過最初的幾段代碼還不能論證我先前的觀點的話,相信這段代碼便可以將委托的對象性質以及方法性質兼備的特性淋漓盡致的表現出來:委托對象中掛載的方法我們可以隨時隨地方便的調用,同時我們又可以按照普通數組的管理方法來管理這多個委托對象。使我們的程序有條不紊的運行。

不過在C#中,多個方法可不一定非得要對應多個委托對象呢。呵呵……

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved