commandlineparser / commandlineparser/commandline

Cannot parse "1"

Offen
#797 6 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C#
Sterne
4.8k
Forks
478
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

E.g. "--KEEP_ALIVE_OPTION=1".

This treats by the parser as no value:
_Option 'keep_alive_option" has no value.
Required option 'keep_alive_option' is missing._

```
public class KeepAliveOptions
{
[Option(Required = true)]
public string KEEP_ALIVE_OPTION { get; set; }
[Option(Required = true)]
public string LOGIN_URL { get; set; }
[Option(Required = true)]
public string ADVISOR_PASSWORD { get; set; }
[Option(Required = true)]
public string COMPANY_NUMBER { get; set; }
[Option(Required = true)]
public string OUT_DIR { get; set; }
[Option(Required = true)]
public string UserID { get; set; }
[Option(Required = true)]
public string Password { get; set; }
}
```

```
public ParserResult Parse(string[] args) where T : IScriptOptions
{
Parser parser = new(s =>
{
s.CaseSensitive = false;
s.IgnoreUnknownArguments = true;
s.HelpWriter = Parser.Default.Settings.HelpWriter;
});

var scriptOptions = new List();

for (int i = 0; i < args.Length; i++)
{
string option = $"--{args[i].TrimStart('/')}";

scriptOptions.Add(option);
}

return parser.ParseArguments(scriptOptions);
}
```

```
var result = Parse(args)
.WithParsed(keepAliveOptions => options = keepAliveOptions)
```

Tried to change KEEP_ALIVE_OPTION type to int, it doesn't change anything

Fiddle: https://dotnetfiddle.net/vbujQc

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.