Я использую 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).