命令行解析器库解析枚举列表

时间:2013-12-17 08:45:45

标签: c# command-line-arguments command-line-parsing command-line-parser

我正在尝试将枚举列表作为选项。

[OptionList('m', "modules", HelpText = "List of modules you are going to install or uninstall.")]
public List<RegistrationType> Modules { get; set; }

不幸的是,它希望它是一个字符串列表。关于如何使它作为lib的文档工作的任何想法都有点短。

由于

2 个答案:

答案 0 :(得分:1)

自2018年11月起,对IEnumerable<TEnum>(软件包版本2.3.0)的支持:

[Option('m', "modules", Separator = ',', HelpText = "List of modules...")]
public IEnumerable<RegistrationType> Modules { get; set; }

样本解析(自提出问题以来已更改):

static void Main(string[] args)
{
    Parser.Default.ParseArguments<Options>(args)
        .WithParsed(options => ...)
}

示例命令行:

myProject.exe -m RegistrationType1,RegistrationType2

答案 1 :(得分:0)

不幸的是,它不支持除IList之外的任何列表。除字符串之外的任何类型:(

对不起。看起来这个库非常强大,但关于它的文档很少。