ブールパラメータをコンソールアプリケーションに渡して、 コマンドラインパーサーライブラリ で値を処理しようとしています。
[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; }
True
またはFalse
を追加する必要はありません。 -c
を使用すると、True
と評価されます。使用しない場合はFalse
と評価されます。ドキュメントのどこかに、詳細出力用の-v
の例があります。しかし、私は今それを見つけることができません。ブールオプションにはRequired=true
は必要ないと思います。
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