万一有人遇到这个问题却找不到解决方案,这里是我找到的:
我添加了一个新的 Oakton
命令和 3 个标志。
问题是其中两个被识别为标志,而另一个被识别为参数。
代码:
[FlagAlias("o", true)]
[Description("Flag One")]
[Required]
public string OneFlag { get; set; }
[FlagAlias("t", true)]
[Description("Flag Two")]
[Required]
public string TwoFlag { get; set; }
[FlagAlias("r", true)]
[Description("Flag Three")]
[Required]
public string Three { get; set; }
一段时间后我在网上找不到任何描述它的东西,为什么?
编辑 1
什么是奥尔顿?它是 .Net 中命令行工具的解析和实用工具 https://jasperfx.github.io/oakton/
最佳答案
解决方案
我发现标志应该在其属性名称中以 Flag
结尾,而参数不应该。
OneFlag
和 TwoFlag
两个将被识别为标志,而标志 Three
将被识别为参数。因为,最后一个在属性名称中没有以 Flag
结尾。所以最终的解决方案是:
[FlagAlias("o", true)]
[Description("Flag One")]
[Required]
public string OneFlag { get; set; }
[FlagAlias("t", true)]
[Description("Flag Two")]
[Required]
public string TwoFlag { get; set; }
[FlagAlias("r", true)]
[Description("Flag Three")]
[Required]
public string ThreeFlag { get; set; }
关于C# Oakton 标志与参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51887936/