1.什么是回调函数
创新互联公司成都网站建设按需策划,是成都网站营销公司,为成都雨棚定制提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站维护热线:18982081108
回调函数(callbackFunction),顾名思义,用于回调的函数。回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机。回调函数包含下面几个特性:
属于工作流的一个部分;
必须按照工作流指定的调用约定来申明(定义);
他的调用时机由工作流决定,回调函数的实现者不能直接调用回调函数来实现工作流的功能;
2.C#回调机制
C#回调机制是一种常见的设计模型,他把工作流内的某个功能,按照约定的接口暴露给外部使用者,为外部使用者提供数据,或要求外部使用者提供数据。
如上图所示,工作流提供了两个对外接口(获取参数、显示结果),以回调函数的形式实现。
“获取参数”回调函数,需要工作流使用者设定工作流计算需要的参数。
“显示结果”回调函数,提供计算结果给工作流使用者。
3.C#回调机制应用
使用回调机制,可以为工作流实现扩展。可以把工作流中需要用户干预的,或需要提供给用户的数据以回调的模式提供给用户。而用户不需要知道整个工作的流程,只需知道回调函数的说明就可以使用工作流模块提供的功能,这对信息的隐藏也是有作用的。
4.回调机制的实现形式
回调函数
虚拟函数
事件
example:以虚函数实现回调机制(有时间补充C#版本)
- Code
- classCWorkFlow
- {
- voidinit()
- {
- _a=0;
- _b=0;
- }
- int_a;
- int_b;
- public:
- voidStart()
- {
- //初始化
- init();
- //调用处理数据
- Handle(a,b);
- //报告结果
- Report(a,b);
- }
- virtualvoidHandle(int&a,int&b)=0;
- virtualvoidReport(intiRet)=0;
- };
- classCMain:
- publicCWorkFlow
- {
- public:
- voidHandle(int&a,int&b)
- {
- a=a+b/2;
- }
- voidReport(intiRet)
- {
- printf("iRet=%d\n",iRet);
- }
- };
- //application
- intmain()
- {
- CMainmain;
- main.Start();
- }
本文来自王之永的博客园博文《C#回调》
【编辑推荐】
新闻名称:详解什么是C#回调
URL网址:http://www.mswzjz.com/qtweb/news30/196380.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联