commandlineparser / commandlineparser/commandline
Treat .NET 7 `required` properties as actually required by default
未关闭
- 主要语言
- 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