commandlineparser / commandlineparser/commandline
Default verb treated as a value.
- 主要語言
- C#
- 星號
- 4.8k
- 分支
- 478
- PR 合併指標
- 30 天內沒有已合併 PR
描述
This was seen on version 2.8.0 targeting .NET Core 3.1 / 5.
Minimum code sample:
```
void Main()
{
var parser = new Parser();
var result = parser.ParseArguments(new[] { "copy", @"A:\", @"C:\", });
result
.WithParsed(a =>
{
Console.WriteLine(a.SourcePath);
Console.WriteLine(a.DestinationPath);
});
}
[Verb("copy", isDefault: true)]
class CopyArguments
{
[Value(0, MetaName = "source", Required = true)]
public string? SourcePath { get; set; }
[Value(1, MetaName = "destination", Required = true)]
public string? DestinationPath { get; set; }
}
````
This prints "copy" for `SourcePath` and "A:\\" for `DestinationPath`.
At this point in development I only have one verb (more verbs are planned), and that verb is/will be the default one.
貢獻指南
這個儲存庫沒有索引到貢獻指南
研究方向
先使用所示的 [Verb] 和 [Value] 屬性,透過 Parser.ParseArguments 重現範例。追蹤預設 verb 在指派位置值之前的處理方式,然後新增或更新回歸測試,證明從引數中省略預設 verb 時,SourcePath 會接收 A:\\,DestinationPath 會接收 C:\\。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- csharp
- 領域
- cli
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 45/100