public static void Exit(ExitCode.ExitCodeData ecd, bool writeCommandUsage = false) { if (!string.IsNullOrWhiteSpace(ecd.Message)) { OutputWriter.WriteLines(ecd.Message); } if (writeCommandUsage) { OutputWriter.WriteLine(); OutputWriter.WriteCommandUsage(); } Environment.Exit(ecd.Code); }
static void Main(string[] args) { string[] parseErrors; CommandArguments arguments = ArgHelper.Instance.ParseCommandArguments(args, out parseErrors); bool isTitlePrinted = false; // errors when parsing arguments if (parseErrors != null && parseErrors.Length > 0) { OutputWriter.WriteTitle(); OutputWriter.WriteLines(parseErrors); isTitlePrinted = true; } // show help? if (args.Length == 0 || arguments.ShowHelp) { OutputWriter.WriteTitle(); OutputWriter.WriteCommandUsage(); ProgramExit.Exit(ExitCode.Success); return; } // show version? if (arguments.ShowVersion) { OutputWriter.WriteVersion(); ProgramExit.Exit(ExitCode.Success); return; } if (!isTitlePrinted) { OutputWriter.WriteTitle(); } Convert(arguments); }