TimerCallback-可以更改时间

本文关键字:时间 TimerCallback- | 更新日期: 2023-09-27 18:00:13

我有这个函数。。。

Instance(uint InstanceId) { }

里面是这个代码。。。

        mUpdater = new Timer(new TimerCallback(PerformUpdate), null, TimeSpan.FromMilliseconds(500), TimeSpan.FromMilliseconds(500));

它每500毫秒刷新一次PerformUpdate

在PerformUpdate中,我有一个IF语句来计算用户是否定义了特定变量。如果用户有变量,那么它每300毫秒而不是500毫秒刷新一次,我该怎么做呢。

哦,它不能在Instance函数中设置,因为它是一个按用户的命令,Instance是为每个用户设置的。

非常感谢您的帮助!

TimerCallback-可以更改时间

这看起来是为System.Threading.Timer,而不是为System.Timers.Timer,对吗?您可以在System.Threading.Timer上调用Change方法来更改其开始时间和间隔。

var variableDefined = true;        
var threadingCallback = new System.Threading.TimerCallback((o) => { });
var threadingTimer = new System.Threading.Timer(threadingCallback, null, 0, 500);
if (variableDefined) {
    threadingTimer.Change(0, 300);
}