2013-02-20 86 views
0

我有这个功能...TimerCallback - 可以更改时间吗?

Instance(uint InstanceId) { } 

洞内有此代码...

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

它的刷新间隔为500毫秒

在PerformUpdate我有一个IF语句来计算PerformUpdate如果用户有定义的特定变量。我如何做到这一点,如果用户有变量,那么它只刷新每300毫秒而不是500.

哦,它不能在Instance函数内设置为每个用户的命令,实例是针对每个用户的。

帮助将不胜感激!

回答

2

这看起来像是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); 
} 
+0

是的,它是Threading.Timer。虐待这一切,欢呼! – 2013-02-20 14:37:06