Я понимаю, что есть несколько способов выйти из приложения, например Application.Exit (), Application.ExitThread (), Environment.Exit () и т. Д.
У меня есть внешнее "общее" библиотека, и я пытаюсь создать общий метод FailIf, который регистрирует сбой в журналах, выполняет то, то и то и то, а затем, наконец, выходит из приложения ... вот его короткая версия.
public static void FailIf(Boolean fail, String message, Int32 exitCode = 1)
{
if (String.IsNullOrEmpty(message))
throw new ArgumentNullException("message");
if (fail)
{
//Do whatever I need to do
//Currently Environment.Exit(exitCode)
Environment.Exit(exitCode);
}
}
Я читал, что использование Environment.Exit - не лучший способ справиться с проблемами, когда дело доходит до приложений WinForm, а также при работе с приложениями WPF и Silverlight существуют разные способы выхода ... Мой вопрос действительно так:
Что мне добавить, чтобы корректно завершить работу для всех типов приложений?