提升事件与直接方法调用差异

Gur*_*epS 9 c#

提升事件,将调用其事件处理程序.例如http://msdn.microsoft.com/en-us/library/aa645739%28VS.71%29.aspx

使用事件机制和直接调用其他方法有什么区别(例如,如果在方法A()中满足条件,则调用B())?

消费和举办活动有什么区别?

谢谢

Rex*_*x M 21

区别在于:

方法调用 ="做这个特定的事情"

事件提升 ="如果有人在倾听和关心,这件事就发生了."

它是关注点分离和可重用性的核心.如果单击它调用特定方法,则按钮不是可重用组件.但如果它只是"宣布"它被点击的程序,并且有兴趣的各方负责订阅它,它是无限可重用的.

如何实现(通过委托)的基础技术实现是无关紧要的.


Han*_*ant 6

提升事件,将调用其事件处理程序

那开始是错误的.可能没有事件处理程序.或者很多.你不知道.这与直接调用方法的主要区别在于.在你最喜欢的设计模式书中查找"观察者模式".