gpt4 book ai didi

c# - 如何访问命令行 Parse 的 Value 属性?

转载 作者:太空狗 更新时间:2023-10-29 22:35:44 25 4
gpt4 key购买 nike

如何访问 CommandLine Parsed 的 Value 属性?

尝试使用 CommandLineParser

关于 Parsing 的 wiki 部分表示可以通过 Value 属性访问 T 的实例...如果解析成功,您将获得一个派生的 Parsed 类型,该类型通过其 Value 属性公开 T 的一个实例。

但是我在 parserResult 上看不到任何 Value 属性,只有一个 Tag ...

ParserResult<Options> parserResult = Parser.Default.ParseArguments<Options>(args);
WriteLine(parserResult.Tag);

我知道我在调试时遗漏了一些东西,我可以看到 Value 属性 ???

最佳答案

要获取已解析的对象(或解析失败时的错误),您可以这样做:

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>

关于c# - 如何访问命令行 Parse<T> 的 Value 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49719874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com