gpt4 book ai didi

c# - 将委托(delegate)分配给事件时如何附加 EventArgs/自定义参数?

转载 作者:行者123 更新时间:2023-11-30 14:19:46 25 4
gpt4 key购买 nike

我有这个代码:

this.form.Resize += new EventHandler(form_Resize);

但是我想在 form_Resize 事件中分配一些对象供以后访问,我该怎么做?

我是否访问 EventArgs 中的数据?

最佳答案

您不能向委托(delegate)“分配额外数据”,但您可以创建 form_Resize 方法的参数化版本,然后使用 lambda 表达式(在 C# 3+ 中)或匿名委托(delegate) (C# 2+) 在附加处理程序时指定附加数据。一种写法如下:

void form_Resize(object sender, EventArgs e, Data additional) {
// 'additional' contains whatever you specified when attaching handler
}

this.form.Resize += (s, e) => form_Resize(s, e, yourAdditionalData);

关于c# - 将委托(delegate)分配给事件时如何附加 EventArgs/自定义参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2261923/

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