Итак, я настраиваю System.Timers.Timer
и получаю обработчик для события Elapsed
. Он работает так, как ожидалось.Как остановить таймер при отладке
Однако, если я хочу отлаживать код, который вызывается в обработчике с истекшим временем; таймер будет продолжать генерировать дополнительные события. Таким образом, я не могу выполнить один шаг через код, потому что события таймера складываются друг на друга.
Текущее обходное решение - позвонить Stop
по таймеру при вводе обработчика и Start
при выходе. Однако это не значит, что система должна работать так, что это временное решение. Мне было интересно, есть ли способ настроить отладчик для остановки таймера во время отладки.
+1 - Для свойства Debugger.IsAttached. Думаю, мне это нравится лучше, чем #if. – Dunk
, если честно: это зависит от того, чего вы хотите достичь - с #if, у вас вообще нет кода в вашей версии релиза, где другой вариант будет неиспользуемым кодом. – Carsten