Общий способ выхода из приложения .NET

Я понимаю, что есть несколько способов выйти из приложения, например 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 существуют разные способы выхода ... Мой вопрос действительно так:

Что мне добавить, чтобы корректно завершить работу для всех типов приложений?

23
задан John Saunders 20 January 2011 в 21:00
поделиться