2

我想知道 Event 的默认返回类型是什么:有人说 Event 没有返回类型;其他人说 Event 有返回类型。谢谢。

4

2 回答 2

15

这取决于您声明事件的委托的类型。“典型”事件使用类型EventHandlerEventHandler<TEventArgs>返回的委托void声明,但没有什么禁止使用不同类型的委托声明事件……如果不是最小意外原则 (POLS)。

“典型的”:

public event EventHandler MyVoidEvent;

“风俗”:

public delegate bool MyBoolDelegate(object sender, EventArgs e);
public event MyBoolDelegate MyBoolEvent;

通常,您会将“返回值”放入EventArgs对象中,这就是事件不需要返回值的原因......但如果他们被告知,它们可以。

于 2013-05-18T16:07:23.420 回答
8

默认情况下,大多数事件处理程序返回 void,但是,处理程序可以返回值。

您可以参考这篇文章以获得进一步的参考:http: //blogs.msdn.com/b/deviations/archive/2008/11/27/event-handlers-returning-values.aspx

于 2013-05-18T15:59:04.850 回答