天天看點

C#委托基礎1——委托基礎

委托和其委托的方法必須具有相同的簽名。簽名相同:1.參數類型相同 2.參數數量相同 3.傳回值一緻

例一

class Program  

{  

        public delegate int MathMethod(int x, int y);  

        public int Add(int a, int b)  

        {  

            return a + b;  

        }  

        static void Main(string[] args)  

            MathMethod mm;  

            Program p = new Program();  

            mm = p.Add;// 相當于一個方法的容器  

            Console.WriteLine("計算結果為{0}",mm(7,6));  

            Console.ReadLine();  

例二

        public delegate double MathMethod(double x, double y);  

        double Add(double a, double b)  

        double Subtract(double a, double b)  

        double Multiply(double a, double b)  

            return a * b;  

        double Divide(double a, double b)  

            return a / b;  

        void DoCalculate(MathMethod mm)  

            Console.WriteLine("請輸入第一個數");  

            double x = Convert.ToDouble(Console.ReadLine());  

            Console.WriteLine("請輸入第二個數");  

            double y = Convert.ToDouble(Console.ReadLine());  

            Console.WriteLine("結果{0}",mm(x, y));  

            mm = p.Divide;  

            p.DoCalculate(mm);  

本文參考自金旭亮老師的《.NET 4.0面向對象程式設計漫談》有關代理的内容

C#委托基礎系列原于2011年2月份發表在我的新浪部落格中,現在将其般至本部落格。

本文轉自IT徐胖子的專欄部落格51CTO部落格,原文連結http://blog.51cto.com/woshixy/1070976如需轉載請自行聯系原作者

woshixuye111