commandlineparser / commandlineparser/commandline

Treat .NET 7 `required` properties as actually required by default

未关闭
#862 4 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
C#
星标
4.8k
派生
478
PR 合并指标
30 天内没有已合并 PR

描述

**Code snippet:**
```cs
public class Options
{
[Option]
public required int Port { get; init; }

[Option]
public required string Server { get; init; }
}
```

**Expected behaviour:** Both `Port` and `Server` are required and the parsing fails if at least on of them is not present.

**Actual behaviour:** They are not required, I still have to specify `[Option(Required = true)]` in order for it to work

贡献指南

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

调研方向

首先跟踪如何检查 [Option] 属性,以及如何推断其 Required 设置,注意 issue 中显示的 .NET 7 required 属性。为缺少 Port 和 Server 值的情况添加回归测试覆盖,并验证在没有显式 Required 设置时解析会失败,同时保持现有选项行为不变。

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

评估

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

把新 issue 发到你的邮箱

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