.NET中的事件的返回类型是什么?

时间:2013-05-18 15:54:41

标签: c# asp.net .net

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

2 个答案:

答案 0 :(得分:15)

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

“典型”:

public event EventHandler MyVoidEvent;

“自定义”:

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

通常你会在EventArgs对象中放入“返回值”,这就是为什么事件不需要来返回值...但是如果他们被告知,他们就可以。

答案 1 :(得分:8)

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

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