繁体   English   中英

在控制台行中读取(未命名)参数

[英]Read (unnamed) argument in console line

由于ConsoleFx的执行速度似乎太慢(糟糕,它有很大的潜力),并且每次构建都显示太多重大更改,因此我决定切换到Mono.Options来满足命令行解析的需要。

我的OptionSet是通过以下方法构建的

private static OptionSet BuildOptionSet()
{
    OptionSet optionSet = new OptionSet()
        .Add("?|help|h", "Prints out the options", option => help = option != null)
        .Add("w|wait", "Waits for any key after finished processing", option => wait)
    return optionSet;
}

我找到的所有教程都涉及选项以及如何捕获它们,但从未提及过参数。

以下电话为例

c:\>test.exe brandCode1 brandCode2 /w

应该等待true,然后给我两个参数,分别是brandCode1和brandCode2。 如何从args []中以干净的方式捕获它们?

Mono.Options无法做到这一点吗?

从我阅读文档可以看出,您有时需要调用OptionSetparse方法。 完成后,它将处理您的操作并返回“包含所有未处理参数的List<string> ”。

不幸的是,您还需要向它传递main方法的参数才能使它起作用。

List<string> extra = optionSet.Parse(args);

编辑:如果我的链接(仍然)不起作用,则解析应链接到http://www.ndesk.org/doc/ndesk-options/NDesk.Options/OptionSet.html#M:NDesk.Options.OptionSet。解析%28System.String,NDesk.Options.OptionContext%29

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM