【发布时间】:2013-02-17 20:23:58
【问题描述】:
有没有办法让Command Line Parser library 报告未知参数?
给定以下选项类:
public class Options
{
[Option('i', "int-option", DefaultValue = 10, HelpText = "Set the int")]
public int IntOption { get; set; }
[ParserState]
public IParserState LastParserState { get; set; }
[HelpOption]
public string GetUsage()
{
return HelpText.AutoBuild(this,
HelpText.DefaultParsingErrorsHandler(this, current));
}
}
还有以下程序:
var options = new Options();
var parser = new Parser(settings =>
{
settings.HelpWriter = Console.Error;
settings.IgnoreUnknownArguments = false;
});
if (parser.ParseArgumentsStrict(args, options))
{
Console.WriteLine("Int value set: {0}", options.IntOption);
}
使用“MyProgram.exe --unknown”调用程序时 我只是得到默认的使用信息,但没有提到是什么错误导致解析失败。我想向用户说明出了什么问题。
【问题讨论】:
-
供参考,
develop分支中的问题已修复。此处的说明:github.com/gsscoder/commandline/wiki/Latest-Beta
标签: c# command-line command-line-arguments command-line-parser