使用NDesk.Options在命令行参数中标记优先级。 C#

时间:2014-07-11 09:38:32

标签: c# command-line-arguments flags ndesk.options

我目前正在使用NDesk.Options来操作我的命令行参数。我现在遇到的问题是,当我使用多个标志运行时,计算按照标志出现的顺序完成。但这并不总是我想要的。例如对于这些参数

-t 20 -g mailGroup

我想首先计算-g标志(它加载一个mailGroup数据),然后在它之后计算-t 20(这是某些分析的前20位)。这适用于“-g mailGroup -t 20”

另外,如果没有加载任何东西,我的-t 20将无法工作,所以基本上-g mailGroup是-t 20之前的必需选项。

是否有优雅的方式为这些标志提供评估优先级?也许可以处理一个标志需要在其之前计算另一个标志的子集的存在的情况(例如,我有多种方式和形式的加载,而不仅仅是-g)。

1 个答案:

答案 0 :(得分:0)

您是否在每个选项的操作中执行逻辑(即,在您阅读每个新选项的同时)?如果是这样,在动作中解耦并简单地设置布尔/配置变量,然后在解析所有选项后执行逻辑。