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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xinchenglong 中级黑马   /  2013-8-24 17:46  /  1345 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为,委托方法的使用可以像其他任何方法一样,具有参数和返回值。
委托是包含具有相同签名和返回值类型的有序方法列表
方法的列表称为调用列表;当委托被调用时,它调用列表
中的每一个方法.

2、事件是被封装的委托;事件包含了一个私有的委托
1)事件提供了对它的私有控制委托的结构化访问
2)与委托中的其他操作不一样,事件我们只可以添加、删除或调用事件
处理程序.
3)事件被触发时,它调用委托来一次调用调用列表中的方法

事件和委托之间到底存在怎样的关系呢?在以后的编程中,如何如使用?

4 个回复

倒序浏览
我只记得,事件是阉割后的委托。
回复 使用道具 举报
这样该怎么理解呢?
回复 使用道具 举报
1. 事件的内部是用委托实现的;
2. 对于事件来讲,外部只能"注册自己+=, 注销自己-=",外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件这种语法;
3. 事件是用来阉割委托实例的,类比用一个自定义类阉割List;
4. 事件只能add, remove自己,不能赋值;
5. 事件只能只能+=,-=,不能=。

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

回复 使用道具 举报
谢谢前辈了,我有点开始理解了……
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马