【发布时间】:2018-11-08 19:45:59
【问题描述】:
我想在我的命令行选项集中添加一个类似-D=Id1:Id2:Id3 的选项。
我怎样才能做到这一点 ?此选项必须是强制性的。
我尝试过这样做:
var optSet = new OptionSet()
{
{ "D:", "Device to communicate with.",
(int id1, int id2, int id3) => {
if (id1 == null)
throw new OptionException ("Missing Id1 for option -D.", "-D");
if(id2 == null)
throw new OptionException ("Missing Id2 for option -D.", "-D");
if(id3 == null)
throw new OptionException ("Missing Id3 for option -D.", "-D");
} },
但我收到错误消息说该操作只需要 2 个参数。
【问题讨论】:
-
ndesk.options 似乎不支持这一点。你可以做的是使用一个只接受1个字符串的函数并自己解析它(由':'分割然后将每个子字符串解析为一个int)。 int 也不能为空。
-
是的,这就是我最终所做的。无论如何谢谢:)
标签: c# command-line-arguments ndesk.options