如何创建一个在特定条件下启动并计数到15秒的计时器?(C#)



我正在创建一个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
}

注意:

  1. 这对using System.Timers;很重要
  2. 该活动将每15000(15秒(运行一次
  3. 事件处理程序中的代码将自动执行(不需要条件(

您可以使用Task.Delay

if (condition is met)
{
// Wait for 15 seconds
await Task.Delay(15000);

//do something
}

最新更新