找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2490|回复: 0
收起左侧

C#的委托

[复制链接]
ID:51090 发表于 2014-9-17 02:37 | 显示全部楼层 |阅读模式
   在平时的C++编程里,使用函数回调最常用的方式是使用函数指针,比如:void (*funProc)(void);将funProc指向一个类型相同的函数名就可以实现函数回调。我经常在AVR编程里使用它,因为使用回调可以让系统框架很容易的实现特定的功能而无需使用太多的switch;但在C#里,它有更严格的要求,而且它不再是简简单单的指针,而是一个类(委托)。使用delegate修饰符声明一个委托。
例如:
  delegate bool Compare(object x, object y);   声明了一个Compare类型,返回类型为bool的委托,并且带有两个参数。
  和C++一样,如果委托只是单单的调用某个程序,意义就不是很大,但是如果有一个实例数组,数组里的每个成员都指向一个函数,这个时候使用委托去访问数组里指向的函数将发挥它强大的功能。例如我们可以在一个数组里安排一些在某个时刻需要调用的函数组,使用forech让委托走遍里面要走的程序,在需要的时候还可以动态的修改这个数组来完成所需的功能。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表