В CommandLineParser, вы можете определить опцию как член нескольких наборов? - PullRequest
0 голосов
/ 19 февраля 2020

Я пишу небольшую программу, которая может принимать 3 различные комбинации флагов, в которых 1 флаг является обязательным, если указан любой другой флаг. используя CommandLineParser ( Link ).

, что означает допустимые ситуации:

> program.exe
> program.exe --config ~\config.json
> program.exe --config ~\config.json --verify
> program.exe --config ~\config.json --silent

И это неверно

> program.exe --verify
> program.exe --silent
> program.exe --verify --silent
> program.exe --config ~\config.json --verify --silent

- config может использоваться независимо, но - без звука и - проверить необходимо поставляется вместе с - config .

это код, который у меня есть, мне нужно, чтобы 'config' была частью как набора "без вывода сообщений", так и набора "проверка" , будучи в состоянии быть независимым.

using CommandLine;

public class CliOptions
{
    [Option('c', "config", Required = false)]
    public string ConfigJsonFilePath { get; set; }

    [Option("silent", Required = false, SetName = "silent")]
    public bool isSilenced { get; set; }

    [Option("verify", Required = false, SetName = "verify")]
    public bool verifyAndExit { get; set; }
}

помощь будет высоко ценится!

...