如何访问已解析的命令行的Value属性?
正在尝试使用 CommandLineParser
上的wiki部分 Parsing 表示可以通过 Value 所有物 如果解析成功,您将获得一个派生的已解析类型,该类型通过T的Value属性公开T的实例。
Value
但我什么都看不到 价值 上的属性 parserResult ,仅a Tag 。。。
价值
parserResult
Tag
ParserResult<Options> parserResult = Parser.Default.ParseArguments<Options>(args); WriteLine(parserResult.Tag);
我知道我遗漏了一些东西,就像我调试一样,我可以看到 价值 所有物
要获取已解析的对象(或在解析失败时出现错误),可以执行以下操作:
ParserResult<Options> parserResult = Parser.Default.ParseArguments<Options>(args); if (parserResult.Tag == ParserResultType.Parsed) { var options = ((Parsed<Options>)parserResult).Value; } else { var errors = ((NotParsed<Options>)parserResult).Errors; }
这是一个值得怀疑的设计,但一般来说,你不应该这样做,预期的用途更像:
Parser.Default.ParseArguments<Options>(args) .WithParsed(options => ...) .WithNotParsed(errors => ...)IEnumerable<Error>