Я хочу отправить оповещение на сегодня в разное время. Я написал код следующим образом, но он никогда не вызывает метод SendAlert()
. Где я ошибаюсь?как таймер внутри петли?
//AletForToday gives me at what time i need to send alert.
for (int i = 0; i < AlertForToday.Count();i++)
{
TimeSpan day = new TimeSpan(24, 00, 00); // 24 hours in a day.
TimeSpan now = TimeSpan.Parse(DateTime.Now.ToUniversalTime().ToString("HH:mm"));
TimeSpan activationTime = TimeSpan.Parse(AlertForToday.dt.ToString("HH:mm")); // 11:45 pm
TimeSpan timeLeftUntilFirstRun = ((day - now) + activationTime);
if (timeLeftUntilFirstRun.TotalHours > 24)
timeLeftUntilFirstRun -= new TimeSpan(24, 0, 0);
System.Timers.Timer timers = new System.Timers.Timer();
timers.Interval = timeLeftUntilFirstRun.TotalMilliseconds;
timers.AutoReset = false;
timers.Elapsed += new System.Timers.ElapsedEventHandler((sender, e) =>
{
SendAlert(AlertForToday[i]);
});
timers.Start();
}