A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

C#中的委托是什么?事件是不是一种委托?

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

4 个回复

倒序浏览
C#中的委托相当于C语言或C++里面的函数指针。函数指针是一个指向函数地址的指针,这样就可以对函数进行调用。而委托就是对函数指针的封装,委托只能调用类型匹配的方法

我的博客里写的有,挺详细的!你去看看吧,希望能帮到你!


http://blog.sina.com.cn/u/2451975741

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
委托就好比你委托某人帮你做某件事情,只不过这个是委托给方法罢了,事件是一种特殊的委托..

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
委托可以把一个方法作为参数代入另一个方法;委托可以理解为指向一个函数的指针。委托和事件没有可比性,因为委托时类型,事件是对象。
回复 使用道具 举报
委托是方法指针的容器。一般我们使用方法时,传入参数如这样Get(string name, int i),但是没有传入方法的。

那么委托就可以把方法名作为参数传进去。

而事件是用来约束委托的(安全性更高),类似于属性。只不过属性里面用的是get和set,而事件里面用的是remove和add(这个需要用reflector查看)。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马