我正在使用System.Timers.Timer并且每隔 x 秒我需要在 ElapsedEvent 方法中执行一些任务。当我在 ElapsedEvent 方法中执行任务时,我希望停止计时器。但是,我有另一种可以启动计时器的方法,可以在 ElapsedEvent 运行时调用它。我的代码看起来像这样:
class MyClass {
Timer myTimer;
public MyClass {
myTimer = new System.Timers.Timer();
// init timer code here...
}
public void ElapsedEventTask(object source, ElapsedEventArgs e) {
myTimer.Enabled = false;
try
{
// do my tasks
}
catch
{
...
}
finally
{
myTimer.Enabled = true;
}
}
}
public void AnotherMethod() {
// do some things
myTimer.Enabled = true;
}
如何防止AnotherMethod
在完成任务时启动计时器ElapsedEventTask
?