详解什么是C#回调

1.什么是回调函数

创新互联公司成都网站建设按需策划,是成都网站营销公司,为成都雨棚定制提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站维护热线:18982081108

回调函数(callbackFunction),顾名思义,用于回调的函数。回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机。回调函数包含下面几个特性:

属于工作流的一个部分;

必须按照工作流指定的调用约定来申明(定义);

他的调用时机由工作流决定,回调函数的实现者不能直接调用回调函数来实现工作流的功能;

2.C#回调机制

C#回调机制是一种常见的设计模型,他把工作流内的某个功能,按照约定的接口暴露给外部使用者,为外部使用者提供数据,或要求外部使用者提供数据。

如上图所示,工作流提供了两个对外接口(获取参数、显示结果),以回调函数的形式实现。

“获取参数”回调函数,需要工作流使用者设定工作流计算需要的参数。

“显示结果”回调函数,提供计算结果给工作流使用者。

3.C#回调机制应用

使用回调机制,可以为工作流实现扩展。可以把工作流中需要用户干预的,或需要提供给用户的数据以回调的模式提供给用户。而用户不需要知道整个工作的流程,只需知道回调函数的说明就可以使用工作流模块提供的功能,这对信息的隐藏也是有作用的。

4.回调机制的实现形式

回调函数

虚拟函数

事件

example:以虚函数实现回调机制(有时间补充C#版本)

 
 
 
 
  1. Code  
  2. classCWorkFlow  
  3. {  
  4. voidinit()  
  5. {  
  6. _a=0;  
  7. _b=0;  
  8. }  
  9.  
  10. int_a;  
  11. int_b;  
  12. public:  
  13.  
  14. voidStart()  
  15. {  
  16. //初始化  
  17. init();  
  18. //调用处理数据  
  19. Handle(a,b);  
  20. //报告结果  
  21. Report(a,b);  
  22. }  
  23.  
  24. virtualvoidHandle(int&a,int&b)=0;  
  25. virtualvoidReport(intiRet)=0;  
  26. };  
  27.  
  28.  
  29. classCMain:  
  30. publicCWorkFlow  
  31. {  
  32. public:  
  33. voidHandle(int&a,int&b)  
  34. {  
  35. a=a+b/2;  
  36. }  
  37.  
  38. voidReport(intiRet)  
  39. {  
  40. printf("iRet=%d\n",iRet);  
  41. }  
  42. };  
  43.  
  44. //application  
  45.  
  46. intmain()  
  47. {  
  48. CMainmain;  
  49. main.Start();  

本文来自王之永博客园博文《C#回调

【编辑推荐】

  1. C#参数类型学习笔记
  2. 处理C#消息的方法
  3. C#重载LoadPostData方法
  4. 概述C#复合控件构建
  5. C# JavaScript函数使用

新闻名称:详解什么是C#回调
URL网址:http://www.mswzjz.com/qtweb/news30/196380.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联