Command Line Parser Library - Boolean Parameter

Sebastian S. picture Sebastian S. · Mar 8, 2016 · Viewed 9k times · Source

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; }

Answer

arne.z picture arne.z · Mar 8, 2016

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.