c# - 引发事件与直接方法调用的区别

标签 c#

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

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

消费和引发事件有什么区别?

谢谢

最佳答案

区别在于:

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

事件引发 = “如果有人在倾听并关心,这件事就发生了。”

它是关注点分离和可重用性的核心。如果单击按钮调用特定方法,则该按钮不是可重用组件。但是,如果它只是简单地向它被点击的程序“通告”,并且感兴趣的各方负责自己订阅它,它就可以无限地重复使用。

如何(通过委托(delegate))实现这一点的底层技术实现是无关紧要的。

关于c# - 引发事件与直接方法调用的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2660675/

相关文章:

c# - MonoTouch MKLocalSearch示例

c# - Delphi 表单 (DFM) 到文本

c# - Nopcommerce 更新实体问题

c# - 是否可以在应用程序级别连接到硬件键盘事件?

c# - 检查 TCP 连接是否处于事件状态的最佳方法

c# - 从图像点击获取 ListView 项目(UWP)

c# - Windows Phone 8.1 C# 应用程序 : critical crash (ExecutionEngineException) only on real device in release mode

c# - GridView 按代码隐藏列

c# - 使 Console.WriteLine() 包装器与额外的格式化参数一起工作,例如 "{0}"

c# - 即使参数具有 notnull 约束,也会收到有关可空类型参数的错误