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家门店,优质低价背后有啥秘密