Мое приложение требует 22 отдельных таймера.Поэтому я создал список таймеров следующим образом.
List<Timer> myTimers = new List<Timer>();
for(int i = 0; i < 22; i++)
{
myTimers.Add(new Timer());
}
Затем я установил настройки для таймеров
foreach(var timer in myTimers)
{
timer.Elapsed += new ElapsedEventHandler(ElapsedTimerEventHandler);
timer.Interval = 10000;
timer.Enabled = false;
}
Затем я создал метод запуска таймера.
public void SetTimerMethod(int timerId)
{
var timer = myTimers.ElementAt(timerId);
timer.Enabled = true;
}
Мой вопрос в моем обработчике событий: как мне узнать, какой таймер вызвал обработчик событий?Я пытался использовать indexOf (myTimers);в исходном объекте, переданном в обработчик событий, но это не работает.Причина, по которой мне нужна позиция индекса, заключается в том, что мне нужно обновить поле в списке объектов класса, основываясь на том, какой таймер истек.Буду признателен за любую помощь.
Я новичок в этом, поэтому я готов сделать это по-другому, если это плохой способ делать то, что я хочу.