我正在创建一个C#库,并希望创建一个在满足特定条件后启动的计时器。然后,我希望计时器计数到15秒,一旦达到15秒,就会执行另一个操作。它看起来像这样:
if (condition is met)
{
//start timer
}
if (timer == 15 seconds)
{
//do something
//reset timer for next time that condition is met
}
任何关于如何在C#中做到这一点的帮助都将不胜感激!
//using System.Timers;
如何间接说明:
Timer timer = new Timer(); //Outside the method
计时器订阅的方法内部
timer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
timer.Interval = 15000; //number in milisecinds
timer.Enabled = true;
OnElapsedTime事件处理程序
private async void OnElapsedTime(object source, ElapsedEventArgs e)
{
//Do Something
}
注意:
- 这对
using System.Timers;
很重要 - 该活动将每15000(15秒(运行一次
- 事件处理程序中的代码将自动执行(不需要条件(
您可以使用Task.Delay
。
if (condition is met)
{
// Wait for 15 seconds
await Task.Delay(15000);
//do something
}