« Command Line Parser Library » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
(12 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Category:CSharp]] | |||
= Documentation = | = Documentation = | ||
* [https://github.com/commandlineparser/commandline GitHub project] | * [https://github.com/commandlineparser/commandline GitHub project] | ||
* [https://github.com/commandlineparser/commandline/wiki/Getting-Started Getting Started] | |||
= | = Options = | ||
<kode lang= | <kode lang=cs> | ||
// créer une classe dont l'instance sera passée à la méthode ParseArguments | // créer une classe dont l'instance sera passée à la méthode ParseArguments | ||
class Options | class Options | ||
{ | { | ||
[ | [Usage(ApplicationAlias = "My Application")] | ||
public | public static IEnumerable<Example> Examples => new List<Example>() | ||
{ | { | ||
new Example( | |||
"Description of the application", | |||
new Options { Option1 = "Option1", Option2 = 100 }) | |||
}; | |||
[Option('o', "option1", Required = true, HelpText = "Option1.")] | |||
public string Option1 { get; set; } | |||
} | |||
[Option('t', "option2", HelpText = "Option2.")] | |||
[Option(' | public int Option2 { get; set; } | ||
public | |||
} | } | ||
</kode> | </kode> | ||
<kode lang= | = [https://github.com/commandlineparser/commandline/wiki/Getting-Started#parsing Parsing] = | ||
<kode lang=cs> | |||
static void Main(string[] args) | |||
{ | { | ||
Parser.Default.ParseArguments<Options>(args) | |||
.MapResult( | |||
options => RunAndReturnExitCode(options), | |||
_ => 1); | |||
</kode> | |||
== [https://github.com/commandlineparser/commandline/wiki/Getting-Started#using-mapresult-in-asyncawait Parsing with async] == | |||
<kode lang=cs> | |||
static async Task Main(string[] args) | |||
{ | |||
await Parser.Default.ParseArguments<Options>(args) | |||
.MapResult( | |||
async options => await RunAndReturnExitCodeAsync(options), | |||
_ => Task.FromResult(1)); | |||
</kode> | </kode> | ||
<kode lang= | = Command line = | ||
- | {{info | In case of missing or unknown argument or parsing error, the errors are displayed with the usage explanation message and the application exits.}} | ||
- | {{info | By default options {{boxx|--help}} and {{boxx|--version}} are available.}} | ||
-- | <kode lang=ps> | ||
# option1 | |||
-- | -o value | ||
-ovalue | |||
--option1 value | |||
--option1=value | |||
</kode> | </kode> | ||
Dernière version du 26 mars 2020 à 16:39
Documentation
Options
// créer une classe dont l'instance sera passée à la méthode ParseArguments class Options { [Usage(ApplicationAlias = "My Application")] public static IEnumerable<Example> Examples => new List<Example>() { new Example( "Description of the application", new Options { Option1 = "Option1", Option2 = 100 }) }; [Option('o', "option1", Required = true, HelpText = "Option1.")] public string Option1 { get; set; } [Option('t', "option2", HelpText = "Option2.")] public int Option2 { get; set; } } |
Parsing
static void Main(string[] args) { Parser.Default.ParseArguments<Options>(args) .MapResult( options => RunAndReturnExitCode(options), _ => 1); |
Parsing with async
static async Task Main(string[] args) { await Parser.Default.ParseArguments<Options>(args) .MapResult( async options => await RunAndReturnExitCodeAsync(options), _ => Task.FromResult(1)); |
Command line
In case of missing or unknown argument or parsing error, the errors are displayed with the usage explanation message and the application exits. |
By default options --help and --version are available. |
# option1 -o value -ovalue --option1 value --option1=value |