commandlineparser / commandlineparser/commandline

Converting from 1.9.71 to 2.9.1, having issues.

Aperta
#846 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C#
Stelle
4.8k
Fork
478
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Hello. I am attempting to upgrade my commandlineparser code to the latest version and I am struggling.

The program's requirements are pretty simple: must have one and only one parameter, with a choice between two options.

Here is what I would ultimately like to have:

[Option("daysback", Required = false, Group = "onerequired", SetName = "daysback", Min = 0, Max = 999, HelpText = "Number of days back in time for run date.")]
public int? DaysBack { get; set; }

[Option("date", Required = false, Group = "onerequired", SetName = "date", HelpText = "Specific date for run date (yyyymmdd).")]
public string RunDate { get; set; }

Group would require at least one parameter, setname would make them mutually exclusive, max and min would check a value.

Unfortunately (according to docs), group and setname cannot be used together, so I had to drop group. And, min/max cannot be used on an int argument, so also dropped.

So now we look like this:

[Option("daysback", Required = false, SetName = "daysback", HelpText = "Number of days back in time for run date.")]
public int? DaysBack { get; set; }

[Option("date", Required = false, SetName = "date", HelpText = "Specific date for run date (yyyymmdd).")]
public string RunDate { get; set; }

Which is okay, but means that I have more checking to do myself.

Two questions please:

1. As is, this will parse cleanly if no arguments are given. Is there a way to set max/min number of required arguments?
2. Is there a way to generate the help screen text on demand? If I find argument errors with my post-parse checking, I'd like to output the same help screen that commandlineparser does.

Thanks.

Bryan Hunt

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.