public static void Main(string[] args)
UseCase("Case: different sets- allowed","--enablejavascript --anonymouslogin");
UseCase("same set- Not Allowed","--enablejavascript --documentroot");
public static void UseCase(string title, string argCommand)
Console.WriteLine("------" + title + "------");
var args= argCommand.Split();
var options = new OptionsWithDefaultSet();
bool isOk = new Parser(s =>
s.MutuallyExclusive = true;
}).ParseArguments(args, options);
Console.WriteLine("Not parsed");
class OptionsWithDefaultSet
[Option(MutuallyExclusiveSet = "web")]
public string DocumentRoot { get; set; }
[Option(MutuallyExclusiveSet = "web")]
public bool EnableJavaScript { get; set; }
[Option(MutuallyExclusiveSet = "ftp")]
public string FtpDirectory { get; set; }
[Option(MutuallyExclusiveSet = "ftp")]
public bool AnonymousLogin { get; set; }