#c# #.net-core #system.commandline
Вопрос:
Когда параметр и аргумент определены, но для данного аргумента задано только значение, это значение также используется для параметра. Пример:
using System;
using System.CommandLine;
using System.CommandLine.Invocation;
class Program
{
static int Main(string[] args)
{
var rootCommand = new RootCommand
{
new Option<string>(alias: "--abc" ),
new Argument<string>(name: "abcd"),
};
rootCommand.Handler = CommandHandler.Create<string, string>(command);
return rootCommand.Invoke(args);
}
static void command(string abc, string abcd)
{
Console.WriteLine("option = "{0}"", abc);
Console.WriteLine("argument = "{0}"", abcd);
}
}
При запуске с dotnet run -- foo
выводом
option = "foo"
argument = "foo"
Но никакого значения опциону --abc
не придавалось.
Это ошибка или неправильное использование библиотеки?