.net中不同方法订阅同一事件的返回值如何使用

来源:百度知道 编辑:UC知道 时间:2024/04/30 14:18:37
假设有两个带返回值的方法订阅了同一个事件,当这个事件被触发之后,返回值应该怎么使用,如何区分哪个返回值对应哪个方法呢?
哦。。是我没说清,首先委托是可以有返回值的对吧,因为委托对应的方法是有返回值的啊。OK,从这个委托定义的事件EVENT是否有返回值呢?如果有,则比如两个public int 方法名 的方法订阅了这个方法(event += ...(方法名))运行后会有返回值么?有的话怎么用?怎么区分哪个return对应哪个方法呢?如果还是没说清的话我再解释,谢谢各位了

你好,

我不是很明白您说“两个带返回值的方法订阅了同一个事件”的意思。

在C#中,事件处理函数是不允许拥有返回值的。

单播委托允许呆返回值的方法。多播委托同样不允许。

如果我理解错了你的意思,希望你补充问题。

=====================

您好,

事件委托是不允许有返回值的。

C#中,事件处理函数的方法签名统一为:
void Method_Name(object sender, EventArgs e);
也就是说,一个方法如果想成为事件处理方法,就必须满足这个签名要求,没有返回值。

单播委托允许方法有返回值。

如果需要传递信息,一般是把需要的信息放在EvengArgs中传递,或者自己写一个EventArgs的派生类。

谢谢。

的确是有点糊涂
“两个带返回值的方法订阅了同一个事件”是什么呢?
如果事件非要带一些参数,只能在EventArgs里做一些处理
不过可能我没理解意思
因为C#的方法可以有返回值,事件没有“返回值”的概念吧

确实事件没有返回值...何来返回值如何使用一说?