NDesk.Optionsを使用して、C#コマンドラインプログラムのコマンドライン引数を解析しています。私のプログラムがうまく終了しないようにすることを除いて、うまく動作しています。ユーザが私が期待していない議論が含まれている場合は、ヘルプ出力を表示してください。NDesk.Options - 無効な引数を検出
私はthuslyオプションを解析しています:このコードで
var options = new OptionSet {
{ "r|reset", "do a reset", r => _reset = r != null },
{ "f|filter=", "add a filter", f => _filter = f },
{ "h|?|help", "show this message and exit", v => _showHelp = v != null },
};
try
{
options.Parse(args);
}
catch (OptionException)
{
_showHelp = true;
return false;
}
return true;
を、私は、このようなNDesk.OptionsがOptionExceptionがスローされますし、すべてがうまくなり、それの後に=myfilter
なし--filter
を指定するなど、不適切な引数を使用している場合。しかし、私はまた、--someOtherArg
のように私のリストと一致しない引数を渡すと、OptionExceptionがスローされると予想していました。しかし、これは起こりません。パーサーはそれを無視して、トラック運転を続けます。
NDesk.Optionsで予期しない引数を検出する方法はありますか?
これは私が欠けていた重要な部分です。ありがとう! – RationalGeek