[Option('a', "option1", Required = true)]
public bool Option1 { get; set; }
[Option('b', "option2", Required = false)]
public bool? Option2 { get; set; }
static int Main(string[] args)
args = "--option1 false --option2 false".Split(' ');
return Parser.Default.ParseArguments<Options>(args)
options => RunAndReturnExitCode(options),
static int RunAndReturnExitCode(Options options)
Console.WriteLine($"option1={options.Option1}, option2={options.Option2}");