C#Oakton标志与参数

时间:2018-08-17 03:17:26

标签: c# command-line-interface

万一有人遇到这个问题而找不到解决方案,这就是我所发现的:

我添加了一个新的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/

1 个答案:

答案 0 :(得分:1)

解决方案

我发现标志的属性名称应以Flag结尾,而参数则不应。

OneFlagTwoFlag两个将被识别为标志,而标志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; }