Я использую CommandLineParser. Когда я анализирую свои аргументы на основе одного глагола, это работает. Мой глагол распознается, и команда выполняется.
Код: Выделить всё
Parser.Default.ParseArguments(args)
.MapResult(
(FirstOperation operation) => RunCommand(operation)
(IEnumerable errs) => ProcessError(errs)
);
Но в моей программе есть несколько возможных глаголов, которые пользователь может ввести. Когда я пытаюсь реализовать свой синтаксический анализатор для второго глагола, ProcessError вызывается с CommandLine.BadVerbSelectedError.
Код: Выделить всё
Parser.Default.ParseArguments(args)
.MapResult(
(FirstOperation operation) => RunCommand(operation),
(SecondOperation operation) => RunCommand(operation),
(IEnumerable errs) => ProcessError(errs)
);
Кроме того, справка, выводимая на вывод, не включает ни один из моих глаголов. Кажется, что реализация второго варианта глагола каким-то образом избавляет синтаксический анализатор от всей информации о глаголе. Я реализую это неправильно? Я следовал примеру, расположенному здесь.
Обратите внимание, что я даю одни и те же данные для обоих случаев. Итак, я не думаю, что моя проблема связана с мужеством моего второго глагола (
).