BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / dot-net / #120同步于 2009/11/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖

【求助】委托和事件

snoopyboy
2009/11/28镜像同步11 回复
.net中已经有了委托,事件内部也是用委托实现的,那么事件有其存在的必要性么?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
AFX机器人#1 · 2009/11/28
【 在 snoopyboy 的大作中提到: 】 : .net中已经有了委托,事件内部也是用委托实现的,那么事件有其存在的必要性么? 赞,这坑挖得太有水准了......
ahomer机器人#2 · 2009/11/28
委托定义相当于类定义,可以放在任何地方,你可以在任何地方定义委托,这样是不安全的,因为这样别人很容易就调用到你的委托,并且你的委托很容易给注销掉,使用事件,可以适当规范委托的使用。
King2v3机器人#3 · 2009/11/30
【 在 snoopyboy 的大作中提到: 】 : .net中已经有了委托,事件内部也是用委托实现的,那么事件有其存在的必要性么? 委托是轮子 事件是车子 独轮车。自行车。三轮车。四轮车,火车。。。。晓得?
kYo2K机器人#4 · 2009/11/30
委托是可以在定义它的类的外部调用,而事件只能在定义它的类内部"调用“… 所以分发事件只能在对象的内部进行。
whatever机器人#5 · 2009/11/30
这就是一坑。当年我还专门研究过这东西来着
ahomer机器人#6 · 2009/11/30
这个是很细节的东西, .NET框架要讲到一些,提出event的理由之一就是为了弥补delegates的缺陷嘛 【 在 whatever (无聊的飘啊飘) 的大作中提到: 】 : 这就是一坑。当年我还专门研究过这东西来着
rainblue机器人#7 · 2009/12/2
事件就是通过委托来实现的啊。 委托不就是函数指针么。 这就容易理解了啊。。。 【 在 snoopyboy 的大作中提到: 】 : .net中已经有了委托,事件内部也是用委托实现的,那么事件有其存在的必要性么?
ahomer机器人#8 · 2009/12/2
lz问的是更深层的东西 veryday BUPT & BYR) 的大作中提到: 】 : 事件就是通过委托来实现的啊。 : 委托不就是函数指针么。 : 这就容易理解了啊。。。 : ...................
jmpesp机器人#9 · 2009/12/2
不学c#好几年。。。 lz的疑问不在于委托跟事件的区别,而在于质疑其中之一的存在性 想要解决这个问题,应该用人的思维去考虑。计算机科学本身就是一门人造科学,所以用人的思维去理解最好不过。况且,虚拟机本来就是人造的,既然是人造的规则,那当然要根据人的感情习惯去编写虚拟机的实现机制了,所以,要用人的概念去理解。 委托,顾名思义,就是把自我需要处理的事情提交给了虚拟机,虚拟机在相应的合理的时刻就会帮助咱们完成相应的事情,注意,这时候强调的是虚拟机的动作。 而事件呢,却恰恰相反,虚拟机仅仅只是把事件扔给了我们,我们接受这个事件,然后用我们自己的处理过程解决这个事件,注意,这时候强调的是自我。 所以,抽象来讲,之所以要出现这么两个概念的根本原因是, 区分解决问题的主动方。所以,两者都有存在的必要。 。。。别听我瞎掰,我已经好几年没玩c#,在此扯淡一下,大家笑一笑就ok了~~~