小菜请教委托和事件的问题
因为刚学c#对委托和事件的问题不清楚,所以找了些资料来看,看完后对委托还算清楚了些。但对事件还是不明白,而且有许多问题使用委托就可以完成为什么还要用事件??想不明白,唉。请明白人给俺小菜讲讲,主要是讲讲为什么要使用事件和什么时候使用事件,先谢谢了!! --------------------编程问答-------------------- 最明显一个区别就是委托可以=也可以+=;而事件只能+=,也就是只能订阅。
只能+=意味着你无法影响其他订阅该事件的方法执行。而委托呢,只要一个=操作,你就等于破坏了别的方法执行。
事件是必须要有的。比如obj.MouseDown += MyEventHandler(...); 如果像委托一样你obj.MouseDown=MyEventHandler(...),那就意味着别的订阅该事件的方法无法执行了。甚至一些系统预定义的,基类的。。。
而且事件也保证了EventHandler(object obj, EventArgs)时,传进来的obj肯定就是fire event的那个对象。
--------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 一个委托对应一个方法,我们使用一个委托时,就会调用这个委托对应的那个方法。但是如果希望一次能够调用多个方法时,这时一个委托变量就不够用了,这时我们需要的是一个委托变量的集合,这就是“事件”。当发生什么事情就触发事件,于是就能调用“事件”(委托变量的集合)中的所有委托。向事件中添加或删除委托变量的方法是“+=、-=” --------------------编程问答-------------------- “委托变量的集合” 说的太好了 谢谢
也谢谢namhyuk
小菜会继续努力的
补充:.NET技术 , C#