事件处理程序中的 C# 数据

本文关键字:数据 程序 事件处理 | 更新日期: 2023-09-27 18:31:44

我有两个函数。一个创建计时器,另一个在计时器到期时执行操作。计时器函数需要 1 个额外的参数 (int)。我需要将其传递给行动。以下是解释的代码:

 public void CreateTimer(int t)
    {
        System.Timers.Timer timer = new System.Timers.Timer();
        timer.Elapsed += new ElapsedEventHandler(DoAction(timer, ??, t));
        timer.Interval = 4000;
        timer.Enabled = true;
    }

如您所见,EventHandler中有??,我不知道该放什么。这是DoAction

public void DoAction(object sender, ElapsedEventArgs e, int l)
    {
        //some stuff here
    }

如何发送int l

事件处理程序中的 C# 数据

您可以将 lambda 表达式订阅到引用局部变量的事件。

timer.Elapsed += (s, e) => { DoAction(s, e, t); };