330
技術社區[雲棲]
C#委托基礎1——委托基礎
C#委托基礎係列原於2011年2月份發表在我的新浪博客中,現在將其般至本博客。
委托和其委托的方法必須具有相同的簽名。簽名相同: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(); } }
例二
class Program { public delegate double MathMethod(double x, double y); double Add(double a, double b) { return a + b; } double Subtract(double a, double b) { return a + 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)); Console.ReadLine(); } static void Main(string[] args) { MathMethod mm; Program p = new Program(); mm = p.Divide; p.DoCalculate(mm); } }
本文參考自金旭亮老師的《.NET 4.0麵向對象編程漫談》有關代理的內容
最後更新:2017-04-03 07:57:30
上一篇:
Sql Server中如何取得剛剛插入的自增長的id值
下一篇:
Android開發14——監聽內容提供者ContentProvider的數據變化
Docker Swarm運行Spring Cloud應用(二):Eureka高可用
黑帽大會:Win8是最安全桌麵和移動係統
阿裏雲大數據利器之-使用sql實現流計算做實時展現業務(flume故障轉移版)
當計算停留著網格內 Mellanox用智能網絡助跑AI
政府安全資訊精選 2017年第九期 全球互聯網企業內容安全責任加重,首批互聯網產品隱私條款評審“成績單”公布
並發集合(九)使用原子 arrays
postgresql中user表
WSDL 概述
CentOS-6.4-x86_64-minimal 最小化安裝之後開機服務的配置建議
“德國屈臣氏”來天貓!歐洲3000家門店,優質低價背後有啥秘密