比方說,我有這樣的代碼停止一個System.Timers.Timer
public static Timer timer;
static void Main()
{
timer = new Timer (60 * 1000); // It ticks every minute
timer.Elpased += One;
timer.Elapsed += Two;
}
private static void One (sender o, EventArgs e)
{
timer.Stop();
}
private static void Two (sender o, EventArgs e)
{
DoSomething();
}
因爲我假設「一」和「二」將執行認購順序,在「一」停止計時器會防止'兩'發生?
如果不是,我該怎麼辦?
檢查兩個計時器狀態 –
當你調用'timer.Elapsed - = One'時,那麼'Two'仍然會執行,因爲它會移除'One'的委託,但不會在其中運行代碼。 – Edgar
@EdgarsŠturms是的,但打電話timer.Elapsed - =兩個一個不會停止兩個執行 – marsh