簡體   English   中英

C#定時器功能?

[英]C# Timer Functions?

我在C#2010工作,我有一個Timer:

private Timer m_Timer;


void KA(string SendStuff, object State)
{

}

m_Timer = new Timer(new TimerCallback(KA(DATA)));

我希望這個計時器調用函數“KA”,傳遞任何“DATA”。

DATA是一個字符串

如何將定時器信息傳遞給功能“KA”?

謝謝

你可以使用delegate / lambda表達式:

string stuff = "hi";
Timer t = new Timer(new TimerCallback(_ => KA(stuff, null)));

編輯:

經過考慮和反饋后,更簡潔的版本是:

string stuff = "hi";
Timer t = new Timer(state => KA(stuff, state));

我想這就是你要找的東西

private Timer m_Timer;

void KA(object state)
{
    string data = (string) state;
}

m_Timer = new Timer(new TimerCallback(KA), DATA);

嘗試調查本文,該文章在c#中演示了一個以指定間隔運行的通用輪詢組件,並使用后台線程來執行指定的用戶操作。

樣品用法:

IPoller poller = new UrlPoller(args[0], TimeSpan.FromSeconds(7));
IPolling pollingComponent = new Polling.Core.Polling(poller);
pollingComponent.SubscribeForPollingUpdates(PollingAction);
pollingComponent.Start();

有關代碼和完整示例,請參閱:

http://www.avantprime.com/blog/24/an-example-of-repeating-code-using-a-worker-thread-without-using-timers-c

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM