我试图在调用方法之前实现10秒的延迟。但是,该方法仅在一秒钟内被调用。
private void closeDoors(Floor floor)
{
Timer timer = new Timer();
timer.Interval = 10000;
timer.Tick += delegate
{
DoorManager(floor, Operation.CLOSE, null);
};
timer.Start();
}
我哪里错了? 谢谢你的助手。
答案 0 :(得分:1)
由于在完成工作后没有停止计时器,可能会出现问题。以下修改后的代码应该有效(只要我遇到过Timer
):
private void closeDoors(Floor floor) {
Timer timer = new Timer();
timer.Interval = 10000;
timer.Tick += (s,e) => {
DoorManager(floor, Operation.CLOSE, null);
((Timer)s).Stop();
};
timer.Start();
}
答案 1 :(得分:0)
我设法通过增加定时器间隔来修复它,因为时间延迟是由另一个方法调用insideDoorManager()调用的进程使用的。