0

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);
}
  1. 有効なパラメータを使用 Program.options は、コマンド ライン args から抽出されたパラメータで初期化されます => OK
  2. 無効なコマンド ライン引数を使用すると、ヘルプが表示されます。=>OK
  3. コマンドライン引数がない場合、ヘルプは表示されません => それは私が望んでいることではありません。

ご協力ありがとうございました。

4

0 に答える 0