Есть ли способ запустить все блокиfinally во всех потоках при обработке Ctrl+C в консольном приложении? ⇐ C#

Место общения программистов C#
Anonymous
Есть ли способ запустить все блокиfinally во всех потоках при обработке Ctrl+C в консольном приложении?

Сообщение Anonymous »

У меня есть консольное приложение, из которого я хочу выйти с помощью ctrl+c. В моей кодовой базе/внешних библиотеках есть типы, которым абсолютно необходимы методы Dispose/Close(), вызываемые для очистки.
В комментариях предлагается вопрос о том, как перехватить Событие ctrl+c. Я уже знаю, что смогу это сделать:

Код: Выделить всё

Console.CancelKeyPress+=
... obj.Close()/obj.Dispose()
Проблема в том, что мне нужно не забывать делать это перед каждым блоком using.< /p>
Есть ли общий способ - в идеале ОДИН обработчик событий для CancelKeyPress, который я регистрирую в корне для всего приложения, который каким-то образом принудительно принудительно > блокирует запуск всех потоков?

Подробнее здесь: https://stackoverflow.com/questions/791 ... n-handling

Вернуться в «C#»