当前位置 : 主页 > 编程语言 > c语言 >

c# – 如何在为事件分配委托时附加EventArgs / custom params?

来源:互联网 收集:自由互联 发布时间:2021-06-25
我有这个代码: this.form.Resize += new EventHandler(form_Resize); 但我想在form_Resize事件中为稍后的访问分配一些对象,我该怎么做? 我是否可以访问EventArgs中的数据? 您不能“向委托”分配其他
我有这个代码:

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

但我想在form_Resize事件中为稍后的访问分配一些对象,我该怎么做?

我是否可以访问EventArgs中的数据?

您不能“向委托”分配其他数据,但您可以创建form_Resize方法的参数化版本,然后使用lambda表达式(在C#3中)或匿名委托(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);
网友评论