Использование CommandLineParser с несколькими опциями глагола - PullRequest
0 голосов
/ 13 февраля 2019

Я использую CommandLineParser .Когда я анализирую свои аргументы на основе одного глагола, это работает.Мой глагол распознан, и команда выполняется.

Parser.Default.ParseArguments<FirstOperation>(args) .MapResult( (FirstOperation operation) => RunCommand(operation) (IEnumerable<Error> errs) => ProcessError(errs));

Но в моей программе есть несколько возможных глаголов, которые пользователь может ввести.Когда я пытаюсь реализовать свой синтаксический анализатор для второго глагола, ProcessError вызывается с помощью CommandLine.BadVerbSelectedError.

Parser.Default.ParseArguments<FirstOperation, SecondOperation>(args) .MapResult( (FirstOperation operation) => RunCommand(operation), (SecondOperation operation) => RunCommand(operation), (IEnumerable<Error> errs) => ProcessError(errs));

Кроме того, справка, которая записывается в вывод, не включаетиз моих глаголов.Кажется, что реализация второй опции глагола как-то избавляет от всей информации глагола для парсера.Я неправильно это реализую?Я последовал примеру, расположенному здесь .

Обратите внимание, что я даю одинаковые данные для обоих экземпляров.Так что я не думаю, что моя проблема с внутренностями моего второго глагола (SecondOperation).

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