TimerCallback - 可以改变时间吗?

时间:2013-02-20 14:29:25

标签: c# timer

我有这个功能......

Instance(uint InstanceId) { }

里面是这段代码......

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

每500毫秒刷新一次PerformUpdate

在PerformUpdate中,我有一个IF语句来计算用户是否定义了specfic变量。如果用户拥有变量,我将如何制作它,然后它每300毫秒而不是500毫秒刷新。

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

非常感谢帮助!

1 个答案:

答案 0 :(得分:2)

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

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);
}