在我正在工作的公司中,我们想要构建一个自动化工具,该工具应运行以文本形式编写的脚本。我是定时器的新手,我想做的是制作一个foreach
(不是必须的),该脚本将在脚本中逐行运行,并调用解析器供以后使用。
我想要的是这样的:
aTimer = new System.Timers.Timer(10000);
// Hook up the Elapsed event for the timer.
// Set the Interval to 2 seconds (2000 milliseconds).
aTimer.Interval = 2000;
aTimer.Enabled = true;
foreach (ScriptCell CELL in ScriptList)
{
//fire the method when time is up
aTimer.Elapsed += new ElapsedEventHandler(DoScriptCommand(CELL.CellText));
}
我知道我写的东西没有道理,但我在这里毫无头绪
PS。在发布此问题之前,我一直在寻找其他主题,但是我没有发现似乎可以填补空白的任何内容
最佳答案
await
的引入使序列中的每个项目都起作用,同时在每个项目之间等待一段时间,这非常容易:
foreach(var cell in ScriptList)
{
DoScriptCommand(cell.CellText)
await Task.Delay(TimeSpan.FromSeconds(2));
}