我正在尝试创建一个触发发生的系统,因此门打开 5 秒钟,然后再次关闭。我为此使用 Threading.Timer,使用:
OpenDoor();
System.Threading.TimerCallback cb = new System.Threading.TimerCallback(OnTimedEvent);
_timer = new System.Threading.Timer(cb, null, 5000, 5000);
...
void OnTimedEvent(object obj)
{
_timer.Dispose();
log.DebugFormat("All doors are closed because of timer");
CloseDoors();
}
当我打开某扇门时,计时器启动。5 秒后,一切再次关闭。
但是当我打开某扇门时,等待 2 秒,然后打开另一扇门,3 秒后一切都关闭。如何“重置”计时器?