我正在构建一个使用
CommandLineParser
从命令获取一些参数。
默认情况下,库已经带有--help(或help动词)来显示关于接受的每个参数的帮助信息。
现在,当我运行--help命令时,我确实得到了帮助屏幕,但是程序继续运行,但是由于其他默认参数没有设置,它中断了。
代码如下:
class Options
{
[Option('f', "force", Required = false, Default = false,
HelpText = "Force ....")]
public bool Force { get; set; }
[Option('v', "version", Required = false, Default = "",
HelpText =
"....")]
public string Version { get; set; }
[Option('s', "silent", Required = false, Default = false, HelpText = "Disables output ...")]
public bool Output { get; set; }
[Option('p', "path", Required = false, Default = "../some/dir/",
HelpText =
"Specifies the path ...")]
public string StartPath { get; set; }
}
然后在程序中:
static int Main(string[] args)
{
try
{
var opts = new Options();
Parser.Default.ParseArguments<Options>(args).WithParsed(parsed => opts = parsed);
string version = opts.Version;
PATCH_LOCATION = opts.StartPath;
....
所以我得到了帮助屏幕,然后程序继续运行(未设置opts.starpath时中断,其他默认值也不中断)。
当收到“帮助”命令时,知道如何“退出”程序吗?
注意:如果使用了未知参数,commandlineparser也会抛出一个帮助屏幕,这也应该退出程序。