在我正在工作的公司中,我们想要构建一个自动化工具,该工具应运行以文本形式编写的脚本。我是定时器的新手,我想做的是制作一个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));
}

09-28 02:39