gpt4 book ai didi

c# - 为什么事件处理程序的返回类型总是 void?

转载 作者:IT王子 更新时间:2023-10-29 04:22:35 25 4
gpt4 key购买 nike

嘿嘿,我想知道为什么像

这样的事件的返回类型
private void button1_Click(object sender, EventArgs e)

总是无效的?

它还能返回任何其他值吗?

最佳答案

事件处理程序签名,即返回类型以及它采用的参数的数量和类型,由用于定义事件的委托(delegate) 的签名确定。所以你例子中Button的Click事件不支持任何返回值。

通常您不希望从事件处理程序返回一个值作为函数返回值,因为一个事件可以有多个订阅者,并且每个订阅者都会独立于其他处理程序返回一个返回值,并且需要特殊的事件触发代码来决定如何处理所有返回值。

通常,如果您需要从事件处理程序返回通信,EventArgs 结构将包含处理程序可以更新的成员,并且每个处理程序将有机会查看值并相应地更新,并且触发事件的代码只需要对结构中的最终值作出 react 。

关于c# - 为什么事件处理程序的返回类型总是 void?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3325396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com