2017-02-11 9 views
2

JSONファイルに保存されている質問のリストがあります。私は10秒ごとに1つの異なった質問をしたいと思う。 私は10秒ごとにタイマーを立ち上げましたが、int "position"は毎回増分できません。どうすればいいですか?c# - 毎回異なるパラメータのタイマー

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

答えて

4

pos変数は、ラムダによって捕捉され、あなたはこの機能でposは静的にすることはできません

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

これは問題ありません。 – Utopia

0

はそのpos静的変数行い、SendDataでそれをインクリメントします。

データが不足したときは必ずタイマーを終了してください。

+0

を使用することができます。 – Utopia

関連する問題