c# - 将参数传递给事件处理程序

标签 c# events event-handling handler

在下面的代码中,我正在定义一个事件处理程序,并希望从中访问 age 和 name 变量,而不需要全局声明 name 和 age。有没有办法让我说出 e.agee.name

void Test(string name, string age)
{
    Process myProcess = new Process(); 
    myProcess.Exited += new EventHandler(myProcess_Exited);
}

private void myProcess_Exited(object sender, System.EventArgs e)
{
  //  I want to access username and age here. ////////////////
    eventHandled = true;
    Console.WriteLine("Process exited");
}

最佳答案

是的,您可以将事件处理程序定义为 lambda 表达式:

void Test(string name, string age)
{
  Process myProcess = new Process(); 
  myProcess.Exited += (sender, eventArgs) =>
    {
      // name and age are accessible here!!
      eventHandled = true;
      Console.WriteLine("Process exited");
    }

}

关于c# - 将参数传递给事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12293471/

相关文章:

javascript - 处理 z-index 图层上的点击事件

javascript - 如何关闭工厂方法中向 Controller 返回 promise 的事件监听器?

c# - 为什么 ToList<Interface> 不适用于值类型?

c# - 垃圾收集器世代不递增

c# - wait Task.CompletedTask 是否意味着异步方法将同步运行?

c# - 无法删除强制转换事件处理程序

c# - 获取解决方案中的所有 nuget 包

events - Scala Swing 事件中使用的反引号

wpf - 当 wpf 数据网格的单元格中的值使用 MVVM 更改时,如何引发事件?

python - 如何在 Windows 10 上使用 Python 和 WMI 检测亮度变化?