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

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

Сообщение Anonymous »

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

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

Console.CancelKeyPress
... obj.Close()
везде перед использованием блоков.
Есть ли лучший способ - один обработчик событий для CancelKeyPress, который каким-то образом заставляет блокиfinally запускаться во всех потоках?

Подробнее здесь: https://stackoverflow.com/questions/791 ... n-handnlin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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