C#定时器功能?

Eri*_*ric 5 c# timer

我在C#2010工作,我有一个Timer:

private Timer m_Timer;


void KA(string SendStuff, object State)
{

}

m_Timer = new Timer(new TimerCallback(KA(DATA)));
Run Code Online (Sandbox Code Playgroud)

我希望这个计时器调用函数"KA",传递任何"DATA".

DATA是一个字符串

如何将定时器信息传递给功能"KA"?

谢谢

Bro*_*ass 8

你可以使用delegate/lambda表达式:

string stuff = "hi";
Timer t = new Timer(new TimerCallback(_ => KA(stuff, null)));
Run Code Online (Sandbox Code Playgroud)

编辑:

经过考虑和反馈后,更简洁的版本是:

string stuff = "hi";
Timer t = new Timer(state => KA(stuff, state));
Run Code Online (Sandbox Code Playgroud)