C# Oakton 标志与参数

标签 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/

最佳答案

解决方案

我发现标志应该在其属性名称中以 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; }

关于C# Oakton 标志与参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51887936/

相关文章:

python - 在 Windows 上的 Click 命令行界面上修改 Usage 字符串

C# 服务器自定义命令行界面

vue.js - 如何为 Vue 项目指定有效的入口点/文件?

c# - 读取流正在改变它的哈希值

c# - 将 DRY 应用于 Autofixture "Build"语句

java - 您可以像在 .NET 中那样在 Java 中创建未定义的枚举值吗?

c# - c#中的分段上传错误

haskell - Haskell命令行脚本应如何报告 `read`中的错误?

java - jCommander - 下一个参数被认为是一个值

c# - 如果表未更新,有没有办法显示错误消息?