System.CommandLine to oficjalna biblioteka w .NET która rozszerza tradycyjne podejście do aplikacji konsolowych.
Używając tego namespece 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 wygenerowany przez Claude 4.5
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);
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
Brak komentarzy:
Prześlij komentarz