CommandLineParser ライブラリを使用するこのコードは機能します。しかし、パラメータを設定しないとすぐに、メソッド DisplayHelp のリターンの結果を取得できません。私のコードは、パラメーターがある場合は機能しますが、パラメーターがない場合は機能しません。これは私のコードです:
int result;
var parser = new CommandLine.Parser(with => with.HelpWriter = null);
var parserResult = parser.ParseArguments<ProgramOptions>(args);
ProgramOptions opts = null;
Program.options = Parser.Default.ParseArguments<ProgramOptions>(args)
.WithParsed(options => { opts = options; })
.WithNotParsed(errs => DisplayHelp(parserResult, errs));
if ((opts == null) || (args.Length == 0))
{
result = (int)ApplicationResult.HelpRequested;
}
else
{
result = MainWithOptions(opts);
}
- 有効なパラメータを使用 Program.options は、コマンド ライン args から抽出されたパラメータで初期化されます => OK
- 無効なコマンド ライン引数を使用すると、ヘルプが表示されます。=>OK
- コマンドライン引数がない場合、ヘルプは表示されません => それは私が望んでいることではありません。
ご協力ありがとうございました。