wszystkie wpisy

System.CommandLine

System.CommandLine to oficjalna biblioteka w .NET która rozszerza tradycyjne podejście do aplikacji konsolowych.

Używając tego namespace z automatu dostajemy:

  • parsowanie argumentów wejściowych,
  • walidację parametrów,
  • automatyczne generowanie pomocy
  • automatyczne generowanie podpowiedzi.

System.CommandLine to nowsze podejście dla tradycyjnych args[]. Jest to oficjalna paczka od Microsoft, więc można jej używać za darmo w każdy możliwy sposób.

Przykład kodu

using System.CommandLine;

var nameOption = new Option<string>(
    name: "--name",
    description: "Nazwa użytkownika",
    getDefaultValue: () => "World");

var rootCommand = new RootCommand("Przykładowa aplikacja CLI");
rootCommand.AddOption(nameOption);

rootCommand.SetHandler((string name) =>
{
    Console.WriteLine($"Hello, {name}!");
}, nameOption);

return await rootCommand.InvokeAsync(args);

Użycie w konsoli:

myapp --name John
# Output: Hello, John!

myapp --help
# Wyświetli automatycznie wygenerowaną pomoc

Alternatywy