我想知道什么是事件的默认返回类型:有人说事件没有返回类型;其他人说事件有返回类型。 感谢。
答案 0 :(得分:15)
这取决于您声明事件的委托的类型。 “典型”事件使用类型EventHandler
或EventHandler<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