Command Line Parser Library

De Banane Atomic
Révision datée du 27 août 2016 à 22:23 par Nicolas (discussion | contributions) (→‎Exemple)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Documentation

Exemple

Csharp.svg
// créer une classe dont l'instance sera passée à la méthode ParseArguments
class Options
{
    [HelpOption('h', "help")]
    public string GetUsage()
    {
        return 
@"-h, --help
affiche l'aide

-d, --inputdirectory
Input directory to use.";
    }

    // définition d'une option
    [Option('d', "inputdirectory", Required = false, HelpText = "Input directory to use.")]
    public string InputDirectory { get; set; }

    [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; }
}
Csharp.svg
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")) { }
}
Dos.svg
-h
--inputdirectory="C:\Dossier"
--inputdirectory "C:\Dossier"
-i"C:\Dossier"
--options=mon_options:autre_option
-omon_options:autre_option
-v