我正在使用System.Timers.Timer
Class,我想Interval
在 elapsed 函数中更改它。当我将Elapsed
属性设置为不同的值时,以某种方式经过的函数开始触发并再次触发,尽管计时器的Autoreset
属性设置为 false。
我的代码:
var timer = new Timer()
{
Interval = 1000,
AutoReset = false,
};
timer.Enabled = true;
timer.Elapsed += (sender, eventArgs) =>
{
Console.WriteLine("Timer fires");
timer.Interval = 2000;
};
当我只想更改定时器的后一次使用的间隔时,代码会一次又一次地触发定时器。
很高兴知道为什么会发生这种情况以及我应该怎么做才能实现所需的行为。