EventHandler中的C#数据

时间:2016-01-23 15:13:48

标签: c# winforms

我有两个功能。一个创建一个计时器,另一个计时器到期时执行。定时器函数需要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

1 个答案:

答案 0 :(得分:2)

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

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