此代码使用 CommandLineParser 库有效。但是,只要不设置参数,就无法得到DisplayHelp方法返回的结果。我的代码在我有参数时有效,但在没有参数时无效。这是我的代码:
int result;
var parser = new CommandLine.Parser(with => with.HelpWriter = null);
var parserResult = parser.ParseArguments<ProgramOptions>(args);
ProgramOptions opts = null;
Program.options = Parser.Default.ParseArguments<ProgramOptions>(args)
.WithParsed(options => { opts = options; })
.WithNotParsed(errs => DisplayHelp(parserResult, errs));
if ((opts == null) || (args.Length == 0))
{
result = (int)ApplicationResult.HelpRequested;
}
else
{
result = MainWithOptions(opts);
}
- 使用有效参数 Program.options 使用从命令行 args => OK 提取的参数进行初始化
- 如果命令行参数无效,则会显示帮助。=> 好的
- 没有命令行参数,不显示帮助=>这不是我想要的。
谢谢您的帮助。