Как создать таймер, который запускается при определенном условии и отсчитывает до 15 секунд? (C #)

#c# #if-statement #dll #timer

#c# #if-statement #dll #таймер

Вопрос:

Я создаю библиотеку 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 #, очень ценится!

Ответ №1:

 //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. Код внутри обработчика событий будет выполнен автоматически (условие не требуется).

Комментарии:

1. @coder5777 рад за это, если вы хотите отметить ответ как принятый, я буду рад, спасибо

Ответ №2:

Вы могли бы использовать Task.Delay .

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