使用NDesk.Options标记命令行参数中的优先级.c#

本文关键字:优先级 参数 命令行 NDesk Options 使用 | 更新日期: 2023-09-27 18:12:39

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

-t 20 -g mailGroup

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

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

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

使用NDesk.Options标记命令行参数中的优先级.c#

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