Как разрешить флаг Option только для cmd-строки с помощью CommandLineParser - PullRequest
0 голосов
/ 22 июня 2019

Я использую C # CommandLineParser для обработки моих аргументов командной строки.

https://github.com/commandlineparser/commandline

Единственные параметры, которые я допускаю в командной строке:

myprogram.exe -a 4 -b -c value

Если я случайно забуду черту в необязательном параметре (аргумент), например:

myprogram.exe -a b -c

Программа все еще работает и не жалуется на «b».Как я могу сообщить об ошибке, если указан такой аргумент?Я пытался использовать:

var parser = new CommandLine.Parser(s =>
{
    s.IgnoreUnknownArguments = false;
});

Но это не похоже на ошибку.Идеи?

1 Ответ

0 голосов
/ 22 июня 2019

Я не знаком с классом C # CommandLinePArser, однако из документации он выглядит очень похоже на Apache Commons CLI , поэтому я предложу предложение, основанное на сходстве (это не следует рассматривать какполный ответ).В вашем случае программа не будет жаловаться на «b», поскольку она рассматривается как аргумент опции «a».Единственный способ - обработать это на этапе анализа в вашей программе.Один из способов - запросить в командной строке наличие опции и ее значение, а затем проверить, находится ли значение в допустимом пространстве для этой опции, см. в командной строке CLI, запросив .Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...