2013-02-20 26 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

相關問題