I try to pass a boolean parameter to a console application and process the value with the Command Line Parser Library.
[Option('c', "closeWindow", Required = true, HelpText = "Close the window.")] public bool CloseWindow { get; set; }   I tried to pass the parameter as
-c false -c False -c "false" -...   There are no differences, on each try I get "true" as value.
Can anyone tell me how I have to pass the parameter to get the boolean false value?
To avoid possible asks, there is a string option which is passed correctly:
[Option('s', "system", Required = true, HelpText = "Any help text")] public string System { get; set; } 
                You don't need to add True or False. Using -c will evaluate to True. Not using it will evaluate to False. Somewhere in the documentation there is an example with -v for verbose output. But I can't find it right now. I guess Required=true is not necessary for Boolean options.
bool? behaves the way you want
with :
[Option('c', "closeWindow", Required = true, HelpText = "Close the window.")] public bool? CloseWindow { get; set; }   the result will be :
-c false // -> false -c true  // -> true -c       // -> error          // -> error if Required = true, null otherwise 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With