很久没上来写点东西了,今天把N年前的代码看了一遍。随手写了点寄托哀思--多播委托...
using System;
// 委托类似于C++中的函数指针,不同的是委托可以包含一个顺序的委托集合。
// 在C#类型封装中,对于不同类型的单个函数的暴露建议使用委托而不要使用接口。
// 委托在对象交互的过程中可以进行函数或函数集合的传递。
// 下面将演示一个多播委托的简单例子。
namespace 多播委托
{
public delegate void 委托演示();
class Program
{
static void Main(string[] args)
{
//这里产生2个演示对象
工作者 演示对象1 = new 工作者();
管理者 演示对象2 = new 管理者();
//工作者向管理者汇报工作成果
演示对象1.开始工作(演示对象2.开始管理());
}
}
/**//// <summary>
/// 从管理者那里得到具体的工作内容和顺序进行工作。
/// </summary>
class 工作者
{
public 工作者()
{
}
public void 开始工作(委托演示 委托对象)
{
委托对象();
Console.ReadLine();
}
}
/**//// <summary>
/// 管理者通过已经确定的工作内容去制定工作的流程,并告知工作者.
/// </summary>
class 管理者
{
public 管理者()
{
}
public 委托演示 开始管理()
{
//得到可以开始的工作范围
工作流模块1 工作流对象1 = new 工作流模块1();
工作流模块2 工作流对象2 = new 工作流模块2();
//首先确定要干哪些事
委托演示 委托演示对象1 = new 委托演示(工作流对象1.流程1);
委托演示 委托演示对象2 = new 委托演示(工作流对象1.流程2);
委托演示 委托演示对象3 = new 委托演示(工作流对象1.流程3);
委托演示 委托演示对象4 = new 委托演示(工作流对象2.流程1);
委托演示 委托演示对象5 = new 委托演示(工作流对象2.流程2);
委托演示 委托演示对象6 = new 委托演示(工作流对象2.流程3);
//然后确定工作的顺序
委托演示 委托演示对象7 = 委托演示对象1 + 委托演示对象2 + 委托演示对象3;
委托演示对象7 += 委托演示对象4 + 委托演示对象5 + 委托演示对象6;
return 委托演示对象7;
}
}
class 工作流模块1
{
public void 流程1()
{
Console.WriteLine("开始流程");
}
public void 流程2()
{
Console.WriteLine("模块1流程1");
}
public void 流程3()
{
Console.WriteLine("模块1流程2");
}
}
class 工作流模块2
{
public void 流程1()
{
Console.WriteLine("模块2流程1");
}
public void 流程2()
{
Console.WriteLine("模块2流程2");
}
public void 流程3()
{
Console.WriteLine("结束流程");
}
}
}
转载于:https://www.cnblogs.com/leitao1979/archive/2008/04/22/delegate2005.html
很久没上来写点东西了,今天把N年前的代码看了一遍。随手写了点寄托哀思--多播委托...相关推荐
- 很久没写东西了,留个言。
很久没写东西了,留个言. 转载于:https://www.cnblogs.com/allanlau2004/archive/2005/07/26/200391.html
- 很久没来了,嘿嘿 问候一下大家,O(∩_∩)O哈哈~
很久没来了,嘿嘿.发现上次发帖正好是一个月以前哦,嘿嘿. 最近职位火热招聘,有意向的快联系哦,嘿嘿 1. BI Technical PM BI Technical PM Job Location: R ...
- 见了很久没见的高中同学,真好
周末去二炮的高中同学那里玩了.虽然同在西安已经6年,但是却从来没有去过她们学校,说起来似乎让人难以相信呵,可事实的确如此.可见我这个人的懒惰了 不过,虽然很久没有见面,见了面之后,感 ...
- 很久没来,丢一份前阵子做的 10 万连接性能测试 (fibjs, golang, nginx, nodejs)
测试内容 动态HTTP服务器极限性能,分为两项: 优化前后的各版本fibjs 优化后的fibjs.使用cluster的nodejs.基于模块的nginx.使用多核的go 测试环境及方法 服务器 CPU ...
- 很久没写了,发个策划书如何?
"互联网+"创新创业大赛校级答辩材料 全国"互联网+"创新创业大赛 <关于面向中小餐厅APP 平台构建> 项目策划书 项目名称:关于面向中小餐厅AP ...
- 【原创】新韭菜日记58--20190618 很久没写了,因为套牢,因为没内容可写
我发现炒股这种事情可能是没法在直播弄的,因为可能会被骂蠢死 但事实上就是这么愚蠢,在欲望的样子多数人都是俗人,有点像日本漫画的富江,这也许是人内心的恶把 但是可能也是现代科技和商业社会前进的动力 炒股 ...
- hash表建立 很久没写数据结构了
/** auhtor:lx date 4.9 2011 brief hash table */ #include <stdio.h> #include <stdlib.h> # ...
- 百度 谷歌分页_百度PC浏览器退役了,才发现自己很久没开电脑了
2019年9月29日,百度宣布旗下PC浏览器停止服务的公告,根据公告内容,早在今年5月,百度就已经停止了PC浏览器的运营与维护,只是为保证用户有充裕的时间更换浏览器,百度保留了网页浏览等基础功能.如今 ...
- 很久没更新博客了,再发协同开发中SVN使用规范
协同开发中SVN使用规范试用 目标,要求 本次svn提交规范主要针对当前项目中出现的svn管理难,开发流程控制难掌控,项目进度记录不准确等问题而提出.要求每个角色都要进行规范化svn作业. 目录结构与 ...
最新文章
- Ansible5:Ad-hoc常用模块
- cookie获取java_java中如何获取cookie
- [react] 简要描述下你知道的react工作原理是什么?
- windows server2003的邮箱服务器安装详细步骤
- 测试低频噪音软件,设计制作并验证0.1Hz~10Hz超低频微弱噪音检测放大器STEP BY STEP...
- 2022新版X站模板 二开苹果cms视频网站源码可封装app(学习教程)
- 阿里云公司简介介绍资料
- 什么是一条好链?——一定要有自主创新的硬核技术
- linux开发之deamon的写法
- 手机浏览器自动打开快应用?
- dw怎么保存html格式,教你如何用Dreamweaver制作网页以及保存网页的方法--系统之家...
- dede后台系统基本参数空白怎么办?
- 关于“DEP数据执行保护”的解决方案
- jquery-table2excel导出excel时名称设置方法
- 双边功率谱密度和单边功率谱密度_以高斯信号为例,计算幅度谱、相位谱、双边功率谱、双边功率谱密度、单边功率谱、单边功率谱密度。...
- 计算机中c语言的应用特点,计算机中C语言应用特点.doc
- proface普洛菲斯触摸屏维修GP4601TAA PFXGP4601TAA及故障处理
- SolidWorks二次开发-关于录制宏保存的格式
- arcgis10.2创建新站点报错无权限
- 算法之-判断某个整数是否为素数的自定义函数:
热门文章
- 搅局者·登场 — MateBook X Pro 长测
- 怎么理解数据网格(Data Mesh)
- 如何升级变色龙本体 AVR 固件
- 新概念英语第一册——1-4笔记
- python算法一:枚举法
- Android.bp编译提示ninja: error: unknown target ‘MODULES-IN-xxx‘终极指南
- 此计算机未配置为允许委派用户凭据,Kerberos 协议转换和受限委派
- NPL笔记——语言模型
- 软件加密系统Themida应用程序保护指南(九):通过命令行进行保护
- js逆向常用加密 + 微信公众号平台试练