Создать таймер очень просто:
static void Main(string[] args)
{
// Create a timer that polls once every 5 seconds
var timer = new System.Threading.Timer(TimerProc, null, 5000, 5000);
Console.WriteLine("Polling every 5 seconds.");
Console.WriteLine("Press Enter when done:");
Console.ReadLine();
timer.Dispose();
}
static int TickCount = 0;
static void TimerProc(object state)
{
++TickCount;
Console.WriteLine("tick {0}", TickCount);
}
Обратите внимание, что TimerProc
вызывается в отдельном потоке. Ваша основная программа может делать другие вещи, и она будет продолжать опрос каждые пять секунд, пока вы не убьете (или не измените) таймер.
Я предпочитаю System.Threading.Timer
, чем System.Timers.Timer
, потому что последний проглатывает исключения. Если в обработчике прошедшего события есть ошибка, которая вызывает исключение, вы никогда не узнаете об этом, потому что обработчик события System.Timers.Timer
подавит исключение. По этой причине я настоятельно рекомендую вам не использовать его. Вместо этого используйте System.Threading.Timer
.