我正在尝试使用Timer
触发事件以通过网络发送数据。我创建了一个简单的类来调试。基本上我有一个List<string>
我想发送。我希望发生以下情况:
- 将字符串添加到
List
- 开始
Timer
10 秒 - 将第二个字符串添加到
List
之前Timer.Elapsed
- 10 秒后重新启动
Timer
。
到目前为止,我有这个:
public static List<string> list;
public static Timer timer;
public static bool isWiredUp = false;
public static void Log(string value) {
if (list == null) list = new List<string>();
list.Add(value);
//this does not reset the timer, elapsed still happens 10s after #1
if (timer != null) {
timer = null;
}
timer = new Timer(10000);
timer.Start();
timer.Enabled = true;
timer.AutoReset = false;
if (!isWiredUp) {
timer.Elapsed += new ElapsedEventHandler(SendToServer);
isWiredUp = true;
}
}
static void SendToServer(object sender, ElapsedEventArgs e) {
timer.Enabled = false;
timer.Stop();
}
有任何想法吗?