Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Enum list options not displayed in help text

未关闭
#893 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
csharp
领域
cli

调研方向

首先,使用报告中所示的 Parser 和 HelpText.AutoBuild 配置,复现类型为 IEnumerable 的选项所出现的问题。跟踪 AddEnumValuesToHelpText 如何处理集合选项类型;完成的标准是,生成的 --help 输出包含列表选项的 enum 有效值,同时保留标量 enum 的现有行为。

由索引模型根据 Issue 内容生成。

描述

Apologies if this question/bug was already open

Describe the bug
The property: HelpText.AddenumValuesToHelpText does not work when the option is of type IEnummerable<{Enum}>. I'm guessing the list is masking the fact that its containing an enum.

Is it possible to have the same Valid values: {enum values} in the help text to be displayed when its a list of enums?

To Reproduce

  1. Create an option of type IEnummerable<{Enum}>
  2. configure a parser as follows:
var parser = new Parser(with =>
{
    with.CaseInsensitiveEnumValues = true;
    with.HelpWriter = null;
    with.AutoVersion = false;
});

    var parserResult = parser.ParseArguments<TArgs>(args.SplitArgs());
    parserResult
        .WithNotParsed(_ =>
        {
            var helpText = HelpText.AutoBuild(parserResult, h =>
            {
                h.AutoVersion = false;
                h.Heading = string.Empty;
                h.Copyright = string.Empty;
                h.AddEnumValuesToHelpText = true;

                return h;
            });
            Console.WriteLine(helpText);
        });
  1. use the --help to find no Valid values: {enum values} in the help text.

Expected behavior
I expected a list of enums to still show available options

Screenshots
image
image
image

主要语言
C#
星标
4.8k
派生
478
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

commandlineparser/commandline 的其他 Issue

查看 commandlineparser/commandline 的全部 Issue

相似的 Issue

更多 C# Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。