簡體   English   中英

c#-每次具有不同參數的計時器

[英]c# - Timer with different parameters at each time

我有一些保存在JSON文件中的問題列表。 我想每10秒發送一個不同的問題。 我每10秒啟動一個計時器,但是int的“位置”不能每次都增加。 我該怎么辦?

public override void OnStart()
{
     dynamic data = Newtonsoft.Json.JsonConvert.DeserializeObject(File.ReadAllText("QCM.js"));

     int pos = 0;
     Timer aTimer = new Timer(2000);
     aTimer.Elapsed += (sender, e) => SendData(pos, data); 
     pos++;
     aTimer.Start();

static void SendData (int pos, dynamic data)
{
     PackageHost.WriteInfo(data.Data[pos].Label);
}

pos變量被lambda捕獲,您可以使用

aTimer.Elapsed += (sender, e) => SendData(pos++, data); 
//pos++;

pos設為靜態變量,然后在SendData對其進行遞增。

當數據用完時,請確保結束計時器。

暫無
暫無

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

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