Invalid verbs do not cause errors if a default verb is set
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par l’appel à Parser.ParseArguments montré dans l’issue et reproduisez le comportement en utilisant DefaultVerb.exe foo avec le verbe par défaut activé. Suivez le traitement d’un verbe non reconnu lorsqu’un verbe par défaut existe, puis vérifiez que l’entrée invalide atteint le chemin d’erreur plutôt que DoSomething ou le verbe par défaut.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Below is a very simplified C# console application I called DefaultVerb. Running the application with start or finish works as expected, outputting Start or Finish correctly, but if I run the application with DefaultVerb.exe foo, it outputs Start. If I set isDefault to false, and run DefaultVerb.exe foo I receive the following expected error:
ERROR(S):
Verb 'foo' is not recognized.
--help Display this help screen.
--version Display version information.
When I have isDefault: true on my verb, what should be the behavior if I pass in an invalid verb? I'm not expecting a bad verb to run my default verb.
`
using CommandLine;
using System;
internal class Program
{
[Verb("start", isDefault: true, HelpText = "start help")]
class StartOptions
{
}
[Verb("finish", HelpText = "finish help")]
class FinishOptions
{
}
static void Main(string[] args)
{
var parser = new Parser(settings =>
{
settings.AutoVersion = false;
settings.CaseSensitive = false;
settings.HelpWriter = Console.Out;
});
parser.ParseArguments<StartOptions, FinishOptions>(args)
.WithNotParsed(ExitWithError)
.WithParsed(DoSomething);
}
static void DoSomething(object commandObj)
{
switch (commandObj)
{
case StartOptions:
Console.WriteLine("Start");
break;
case FinishOptions:
Console.WriteLine("Finish");
break;
}
}
static void ExitWithError(IEnumerable<Error> errors)
{
Environment.Exit(1);
}
}
`
- Langage dominant
- C#
- Étoiles
- 4.8k
- Forks
- 478
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de commandlineparser/commandline
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
commandlineparser/commandline#951 · 1 commentaire ·
-
Code example misses iEnumerable Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 70/100
commandlineparser/commandline#880 · 2 réactions ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 45/100
commandlineparser/commandline#952 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
commandlineparser/commandline#948 ·
-
How to add examples for verbs? Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
commandlineparser/commandline#947 ·
Toutes les issues de commandlineparser/commandline
Issues similaires
-
CS0162 "Unreachable code detected" warning from a MSBuildTemp .tmp file in every game project Ouvertebug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
-
Type: enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
apache/arrow-adbc#4809 ·
-
type/automation type/tech-debt
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
microsoft/vscode-azurefunctions#5197 · 1 commentaire ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
microsoft/microsoft-ui-reactor#1274 ·