web-dev-qa-db-ja.com

コマンドラインパーサーライブラリ-ブールパラメーター

ブールパラメータをコンソールアプリケーションに渡して、 コマンドラインパーサーライブラリ で値を処理しようとしています。

[Option('c', "closeWindow", Required = true, HelpText = "Close the window.")]
public bool CloseWindow { get; set; }

パラメータを次のように渡そうとしました

-c false
-c False
-c "false"
-...

違いはありません。試行するたびに"true"値として。

ブール値のfalse値を取得するためにパラメーターを渡す方法を教えてもらえますか?

起こりうる質問を避けるために、正しく渡される文字列オプションがあります。

[Option('s', "system", Required = true, HelpText = "Any help text")]
public string System { get; set; }
18
Sebastian S.

TrueまたはFalseを追加する必要はありません。 -cを使用すると、Trueと評価されます。使用しない場合はFalseと評価されます。ドキュメントのどこかに、詳細出力用の-vの例があります。しかし、私は今それを見つけることができません。ブールオプションにはRequired=trueは必要ないと思います。

25
arne.z

bool?あなたが望むように振る舞う

と:

[Option('c', "closeWindow", Required = true, HelpText = "Close the window.")]
public bool? CloseWindow { get; set; }

結果は次のようになります:

-c false // -> false
-c true  // -> true
-c       // -> error
         // -> error if Required = true, null otherwise
2
klev