C#源代码—委托的演示,利用多路广播机制优化
来源:互联网 发布:windows环境开发ios 编辑:程序博客网 时间:2024/04/27 17:17
【实例4-6】委托的演示
【实例4-8】利用多路广播机制优化实例4-6的代码
using System;public delegate int Caculate(int x, int y); //声明委托public class CaculateOfNumber //声明类{ public Caculate handler; //这是一个委托型的字段 public int Product(int x, int y) { return x * y; } public int Average(int x, int y) { return (x + y) / 2; }} public class TestDelegate { static void Main() { int a = 5, b = 6; CaculateOfNumber cn = new CaculateOfNumber(); //创建一个对象 cn.handler = new Caculate(cn.Product); //初始化委托型字段 //通过委托来调用方法 Console.WriteLine("{0}与{1}的乘积为{2}", a,b,cn.handler(a,b)); cn.handler = new Caculate(cn.Average); Console.WriteLine("{0}与{1}的平均值为{2}", a, b, cn.handler(a,b)); //使用匿名方法来初始化委托型字段 cn.handler = delegate(int x, int y) { return (int)Math.Pow(x, y); }; Console.WriteLine("{0}的{1}次方值为{2}", a, b, cn.handler(a,b)); }}
【实例4-8】利用多路广播机制优化实例4-6的代码
using System;public delegate void Caculate(int x, int y); //声明委托public class CaculateOfNumber //声明类{ public Caculate handler; //这是一个委托型的字段 public void Product(int x, int y) { Console.WriteLine("{0}与{1}的乘积为{2}", x, y, x * y); } public void Average(int x, int y) { Console.WriteLine("{0}与{1}的平均值为{2}", x, y, (x + y) / 2); } public void Pow(int x, int y) { Console.WriteLine("{0}的{1}次方值为{2}", x, y, (int)Math.Pow(x, y)); }} public class TestDelegate{ static void Main() { int a = 5, b = 6; CaculateOfNumber cn = new CaculateOfNumber(); //创建一个对象 //使用多路广播机制来创建委托调用列表 cn.handler = new Caculate(cn.Product); cn.handler += new Caculate(cn.Average); cn.handler += new Caculate(cn.Pow); //一次性调用上面指定的方法 cn.handler(a, b); }}
0 0
- C#源代码—委托的演示,利用多路广播机制优化
- C# 委托,合并委托(多路广播委托)
- C#委托及委托链的演示
- C#对象间的协作和信息交换(五)利用委托(Delegate)广播消息
- C# 委托delegate 回调方法 多路广播 的通俗解释
- C#源代码—演示静态构造函数的使用
- 委托及多路广播委托
- 如何:合并委托(多路广播委托)(C# 编程指南)
- 委托之 合并委托(多路广播委托)
- C#源代码—声明委托,通过委托对象调用所指向的方法
- c# 利用委托返回控件的值
- Java 利用反射实现C#的委托
- C#委托的回调机制
- C#委托的回调机制
- C#委托机制
- c#委托 事件 机制
- C# 委托机制
- C#委托机制
- Java学习笔记之一个计时小程序
- 手游《白话三国》挂机称霸 一统天下(设计思路整理)
- Sublime
- 如何排查问题
- JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)异常
- C#源代码—委托的演示,利用多路广播机制优化
- Android-动态注册广播和注销广播
- 命令行下运行 Matlab 及 函数
- Your PHP installation appears to be missing the MySQL extension.。。。。。。
- mysql数据库锁机制
- 怎样快速学习一个系统
- 分享一个链接
- C#源代码—使用哈希表保存学生信息
- 菜鸟在线与你一起分析:程序员如何让自己变得不可替代?