c#委托与事件 委托代替事件 为什么还要存在事件这个概念?

wh_wanghui 2011-05-07 03:15:16
个人感觉委托可以代替事件,使用委托调用其封装的方法即可实现回调,这个过程等同于事件订阅和触发,那么为什么c#要存在事件这个概念?
...全文
174 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bourbon1795 2011-05-07
  • 打赏
  • 举报
回复
事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的。引发事件的对象称为事件发送方。捕获事件并对其作出响应的对象叫做事件接收方。

在事件通信中,事件发送方类不知道哪个对象或方法将接收到(处理)它引发的事件。所需要的是在源和接收方之间存在一个媒介(或类似指针的机制)。.NET Framework 定义了一个特殊的类型(Delegate),该类型提供函数指针的功能。----------------msdn
wh_wanghui 2011-05-07
  • 打赏
  • 举报
回复
顶啊 来个人给点详细些的说法啊 求解惑~~~
wanghui0380 2011-05-07
  • 打赏
  • 举报
回复
男厕所其实可以当女厕所用滴,为啥人们建厕所的时候非要分个男女呢??
  • 打赏
  • 举报
回复
事件是委托的一个典型运用,委托减少了类之间通信时的耦合度,而事件则进一步增强了委托-事件类型的可读性,为什么要存在事件?
答不上来,想必这正是那些超群的架构师们的得意之作
threenewbee 2011-05-07
  • 打赏
  • 举报
回复
委托代替不了事件,因为事件是对委托的封装。事件底层靠委托实现。

如同既然有面包,为什么我们要生产面粉呢?

110,530

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧