0

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

-t 20 -g 邮件组

我希望首先计算 -g 标志(加载 mailGroup 数据),然后计算 -t 20 (这是某些分析的前 20 名)。这适用于“-g mailGroup -t 20”

此外,如果没有加载任何内容,我的 -t 20 将不起作用,因此基本上 -g mailGroup 是 -t 20 之前的必需选项。

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

4

1 回答 1

1

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

于 2014-07-11T09:48:39.170 回答