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

How to create a timer that starts on a certain condition, and counts to 15 seconds? (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
}