Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Generate Help on a specific verb

Ouverte
#901 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
csharp
Domaine
cli

Piste de recherche

Reproduisez le problème avec les classes Verb1 et Verb2 présentées, puis suivez le résultat de ParseArguments à travers DisplayHelp, HelpText.AutoBuild et DefaultParsingErrorsHandler. Vérifiez comment les arguments de "help verb1" sont interprétés et comment verbsIndex influe sur la sortie. La tâche est terminée lorsque la demande d'aide pour un verbe affiche uniquement l'aide et les options de ce verbe, tout en préservant le comportement existant de l'aide pour tous les verbes.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Describe the bug
When I call my program with the following arguments : "help verb1", I expect that the help for this specific verb was displayed. But instead, the help for all verbs are displayed.

To Reproduce

    [Verb("Verb1", HelpText ="Help Verb1")]
    internal class Verb1
    {
        [Option(Required = true, HelpText = "Help MyOption1")]
        public string MyOption1 { get; set; }
    }

    [Verb("Verb2",HelpText = "Help Verb2")]
    internal class Verb2
    {
        [Option(Required = true, HelpText = "Help MyOption2")]
        public string MyOption2 { get; set; }
    }

    internal class Program
    {
        static void Main(string[] args)
        {
            var parser = new Parser(config => config.HelpWriter = null);
            var parserResult = parser.ParseArguments<
                Verb1,
                Verb2
            >
            (args);

            parserResult.MapResult(
                 (Verb1 options) => { return 0; },
                 (Verb2 options) => { return 0; },
                 errors => {
                     DisplayHelp(parserResult, errors);
                     return 0;
                 });

            Console.ReadKey();
        }

        static void DisplayHelp<T>(ParserResult<T> result, IEnumerable<Error> errs)
        {
            var helpText = HelpText.AutoBuild(result, h =>
            {
                h.AdditionalNewLineAfterOption = false;
                h.Heading = "Myapp 2.0.0-beta"; //change header
                h.Copyright = "Copyright (c) 2019 Global.com"; //change copyright text
                return HelpText.DefaultParsingErrorsHandler(result, h);
            }, e => e, verbsIndex:true);
            Console.WriteLine(helpText);
        }
    }

When I excecute this with the command line "MyApp.exe help verb1"
The actual result is :
image

Expected behavior
This display :
Verb2 Help Verb1
MyOption2 Help MyOption2

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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de commandlineparser/commandline

Toutes les issues de commandlineparser/commandline

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.