#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
}
Примечания:
- Важно
using System.Timers;
- Событие будет выполняться каждые 15000 (15 секунд)
- Код внутри обработчика событий будет выполнен автоматически (условие не требуется).
Комментарии:
1. @coder5777 рад за это, если вы хотите отметить ответ как принятый, я буду рад, спасибо
Ответ №2:
Вы могли бы использовать Task.Delay
.
if (condition is met)
{
// Wait for 15 seconds
await Task.Delay(15000);
//do something
}