Я начал использовать библиотеку анализатора командной строкидля инструмента, который будет иметь как графический интерфейс, так и запуск из командной строки. Запуск графического интерфейса осуществляется с помощью параметра командной строки.
Поэтому я хотел бы иметь необходимые параметры на случай, если программа выполняется в режиме командной строки. По сути, я бы хотел, чтобы вариант 1 и вариант 2 требовались, если параметр «Gui» не установлен.
Я попытался объединить атрибуты MutuallyExclusiveSet и Required, как показано ниже, но это не сработало, как я думал. Я неправильно понял концепцию «MutuallyExclusiveSet» или просто неправильно ее использовал? Или это что-то, что библиотека еще не поддерживает?
public class CommandLineOptions : CommandLineOptionsBase
{
[Option(null, "gui", Required = false, HelpText = "Launch the GUI", MutuallyExclusiveSet = "Gui")]
public bool Gui { get; set; }
[Option(null, "opt1", HelpText = "Option 1", MutuallyExclusiveSet = "CommandLine", Required = true)]
public string Option1 { get; set; }
[Option(null, "opt2", HelpText = "Option 2", MutuallyExclusiveSet = "CommandLine", Required = true)]
public string Option2 { get; set; }
}