commandlineparser / commandlineparser/commandline
Support for implicit empty string
- Ngôn ngữ chính
- C#
- Star
- 4.8k
- Fork
- 478
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
I want to design an api with a bool-like option which can optionally contains a name. Below are my commands I wanted to work with:
``` shell
// 1. Call MyFeature without adding a project
myfeature
// 2. Call MyFeature and add a project with default naming
myfeature --add-project
// 3. Call MyFeature and add a project with a specific name
myfeature --add-project "myprojectname"
```
Below is my options class:
``` csharp
[Verb("myfeature")]
public class MyOptions
{
[Option("add-project", Required = false)]
public string AddProjectName { get; set; }
public bool AddProject => AddProjectName != null;
}
```
My problem is that the 2. solution is not working, because the engine forces the user to set a string arg. In order to set an empty string he has to be give an empty "". But that would not be an intuitive api.
Is there already a solution for this design problem? Can I disable the string-check for this item? I already set "Required" to false.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.