如何分析程序内的.exe参数?

Pat*_*ins 4 .net c# python java

我有一个可以有很多参数的程序(我们有超过+30个不同的选项).

例: myProgram.exe -t alpha 1 -prod 1 2 -sleep 200

这是3个命令(最后来自命令模式对象),每个命令都包含一些参数.在代码中我们解析所有命令(以 - 开头)并获取参数的字符串列表(拆分所有空格).所以实际上,我们有:string - >每个命令的String参数集合.

目前,我们使用字符串比较,我们可以完成所有工作(实例具体命令并返回ICommand接口).问题是我们每次都需要做很多IF以获得良好的命令.

你是否有一些模式可用于从EXE中提取所有参数而不使用大量IF?

代码在C#中,但我认为逻辑也可以是任何其他语言......

Ali*_*har 6

(好吧,因为这是用Python标记的):

我们使用Python的optparse模块来实现此目的.它有比许多ifs更友好的API.


Soa*_*Box 5

创建一个哈希表,该表存储用于处理每个参数的函数指针(在C#中为委托),使用参数文本进行键控.然后,您只需在循环中浏览命令行,并根据哈希表查找的内容调用委托.


den*_*ips 5

C#的有用选项库:NDesk.Options