仅在延迟时间后执行方法

MTA*_*MTA 4 .net c# wpf windows-phone-7 windows-phone

我每隔60秒使用此方法调用另一个方法:

Timer updateTimer = new Timer(testt, null, 
                              new TimeSpan(0, 0, 0, 0, 1), new TimeSpan(0, 0, 60));
Run Code Online (Sandbox Code Playgroud)

延迟1毫秒后,可以只调用一次这种方法吗?

Jon*_*eet 18

假设这是一个System.Threading.Timer,从构造函数的最终参数的文档:

period
回调引用的方法的调用之间的时间间隔.指定负一(-1)毫秒以禁用定期信令.

所以:

Timer updateTimer = new Timer(testt, null,
                              TimeSpan.FromMilliseconds(1),   // Delay by 1ms
                              TimeSpan.FromMilliseconds(-1)); // Never repeat
Run Code Online (Sandbox Code Playgroud)

延迟1毫秒真的有用吗?为什么不立即执行它?如果你真的只是想在线程池线程上执行它,那么有更好的方法来实现它.

  • @TomeeNS:我怀疑你使用了错误类型的计时器。 (2认同)