« Command Line Parser Library » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
Ligne 8 : | Ligne 8 : | ||
class Options | class Options | ||
{ | { | ||
[Usage(ApplicationAlias = " | [Usage(ApplicationAlias = "My Application")] | ||
public static IEnumerable<Example> Examples => new List<Example>() | public static IEnumerable<Example> Examples => new List<Example>() | ||
{ | { |
Version du 26 mars 2020 à 16:04
Documentation
Exemple
// 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; } // à confirmer [OptionList('o', "options", HelpText = "Liste des options")] public IList<string> OptionsList { get; set; } [Option('v', null, HelpText = "Print details during execution.")] public bool Verbose { get; set; } // récupère tous les arguments qui n'ont été récupérés par une option [ValueList(typeof(List<string>))] public IList<string> InputFiles { get; set; } } |
var options = new Options(); if (CommandLine.Parser.Default.ParseArguments(args, options)) { if (options.Verbose) { } var inputDirectory = options.InputDirectory; if (options.OptionsList != null && options.OptionsList.Contains("mon_option")) { } } |
-h --inputdirectory="C:\Dossier" --inputdirectory "C:\Dossier" -i"C:\Dossier" --options=mon_options:autre_option -omon_options:autre_option -v |