Как добавить таймер в консольное приложение?

Помогите разобраться, у меня есть консольное приложение с событиями, необходимо эти события вызывать при наступлении определенного времени, например сегодня в 14:00 часа, как это можно реализовать?


Ответы (1 шт):

Автор решения: Yotic

Есть 2 способа.

  1. System.Thread.Timer:
private static Timer timer;
public static void Main()
{
    DateTime endTime = new DateTime(0, 0, 0, 0, 2, 0);
    Timer timer = new Timer(TimerCallback, null, 0, endTime.Ticks);
    Thread.Sleep(10000); //Что-то там работает-работает
}
private static void TimerCallback(object o)
{
    Console.WriteLine("дзын дзыц, время: " + DateTime.Now);
    timer.Dispose();
}
  1. System.Thread:
private void SetTimer(Action action, TimeSpan time) => new Thread(() => {
    Thread.Sleep(time);
    action.Invoke();
}).Start();
→ Ссылка