2010-04-13 23 views

回答

4

当然,许多事件使用EventHandler作为简单的代理。

或者你的意思是说,你可以订阅许多事件到同一个方法?这也是可能的,您可以订阅将TextChanged-Events从所有文本框订阅到相同的委托。特别是对于验证和验证事件,对于使用相同验证逻辑的所有字段,只使用一种方法是有用的。

事件通常在.NET中进行多播,因此您可以将多个代理订阅到一个事件。例如,您可以为文本字段指定两个或三个验证方法,并将TextBox.Validating事件订阅到验证输入的一个方面的所有方法。

0

只要事件处理程序相同,就可以在任意数量的事件上拥有相同的处理程序。

MSDN

委托类型定义的集合被传递到处理该事件的方法的参数。 多个事件可以共享相同的委托类型,因此只有在没有声明合适的委托类型时才需要执行此步骤。

4

你的意思是使用相同的委托两个不同的事件声明,或使用相同的委托例如订阅两个不同的事件?两者都允许:

public event EventHandler Foo; 
public event EventHandler Bar; 
... 
EventHandler handler = SomeMethod; 
Foo += handler; 
Bar += handler; 
相关问题