Я понимаю, что существует несколько способов выхода из приложения, таких как Application.Exit (), Application.ExitThread (), Environment.Exit () и т. Д.
У меня есть внешняя библиотека "commons", и я пытаюсь создать общий метод 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 есть разные способы выхода ... Мой вопрос действительно:
Что я должен сделать, чтобы выйти изящно, чтобы охватить все типы приложений?