在使用事件处理程序和委托方法之间做出哪些好的考虑?
例如,我选择委托方法选项将功能实现推迟到另一个对象。我选择事件处理程序选项主要是为了让其他对象订阅更新。
但显然,正如你所看到的,这些都是非常粗略的标准。我已经在Stackoverflow上阅读了一些类似的问题,但它们面向非常具体的问题,而我对通用用法更感兴趣。
任何输入?
感谢。
答案 0 :(得分:1)
如上所述,它会根据您的具体情况而有所不同。 Delegates
曾经要求您的逻辑有一个单独的方法来实现您的逻辑。这使得Delegate
的使用难以证明。但是,对于Lambda Expressions
和Anonymous Methods
,Delegate
实际上变得非常有用,功能强大Type
很容易证明。
Delegates
非常适合:
具有特殊代码的模板的概念概念,Delegate
非常好。
当Event Handler
在操作Class
时寻找Object
提供某种形式的通知时,User Interface
是理想的选择。最常见的实现和最简单的示例是Class
。每个Control
代表一个Control
,Interface
中的每个Button
都会有一个事件来指示何时进行更改。
Event Handler
点击它的全部目的;但是在点击之前你不需要它来执行或做任何事情。 Delegate
的一个例子。
他们经常在使用Delegate Object
时声明。推理是Event
封装了一个方法,因此可以匿名调用它。 Class
是Delegate
允许客户提供Event
Event Handler
时应调用的方法的方法。
所有Event
是一个被调用到相关Event Handlers
的过程。这些Delegate
需要两个元素:
Event
所以在大多数情况下,它们是齐头并进的。
显然,你的问题没有提供太多细节,因此很难对你的标准进行实际回答或磨练。
有些网站可以帮助您:
这些都是重要概念,因此了解它们非常重要。希望这有助于澄清一点。