Что ж, получается, что System.Timers - полный мусор, но не единственный выбор. System.Threading.Timer имеет именно те функции, которые я искал. Я просто не осознавал, что существует две версии, пока не наткнулся на некоторые жалобы, которые подсказали мне тот факт, что они не совпадают, и я наконец-то посмотрел на многопоточную версию.
Редактировать:
* 1004 Обратный вызов * System.Threading.Timer выглядит следующим образом
public delegate void TimerCallback(object state);
Где состояние - произвольный объект, переданный таймеру во время построения. Он может инкапсулировать все, что нужно обработчику событий для правильной обработки указанного c экземпляра события. Вы даже можете устанавливать свойства или вызывать методы для объекта во время обработки события, таким образом управляя его состоянием на основе таймера.
Edit-2
Единственное, неопределенно похожее, что присуще Системе. Реализация таймеров - это возможность присоединить System.ComponentModel.ComponentCollection и возможность указывать на компонент внутри коллекции. Это COM-объекты, принадлежащие System. Windows. Forms. Control. Даже если вы расширяете класс в соответствии со своими потребностями, вы тащите с собой поддержку непригодных для использования свойств.
Вы можете так же легко расширить System.Threading.Timer, не таща за собой ненужный багаж.