我知道有几种方法可以退出应用程序,比如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 时也有不同的退出方式... 我的问题真正是:
为了涵盖所有应用程序类型,我该使用什么方法来优雅地退出?