C# でプロジェクトにコマンド ライン パーサーを実装しています。
https://github.com/commandlineparser/commandline
DB 接続の引数を取るコマンド ライン ツールを作成しようとしています。
- サーバーアドレス
- DB カタログ
- ユーザー名 (統合されていない場合)
- パスワード
オプションを持つ Options.cs クラスを作成しました
public class Options
{
[Option('s', "dbServer", Required = true, HelpText = "The database server for connections.", DefaultValue = "localhost")]
public string DbServer { get; set; }
[Option('c', "dbCatalog", Required = true, HelpText = "The database catalog for connections.", DefaultValue = "Portal")]
public string DbCatalog { get; set; }
[Option('u', "dbUser", Required = true, HelpText = "The database user for connections.", DefaultValue = null)]
public string DbUser { get; set; }
[Option('p', "dbPassword", Required = true, HelpText = "The database password for connections.", DefaultValue = null)]
public string DbPassword { get; set; }
}
しかし、 Main メソッドでオプションを解析しようとすると...
public static void Main(string[] args)
{
Parser.Default.ParseArguments<Options>(args)
.WithParsed(RunOptions);
}
(「.ParseArgument」の下の赤いジグザグ線と、その上にカーソルを合わせると、これらが表示されます) ->
Exception : ArgumentNullException
The non generic method Parser.ParseArguments(string[], object) cannot be used with type arguments
ここで何が問題なのか誰にもわかりますか...上記のリンクをたどりましたが、それほど難しいことではありません。