コンソールアプリを作っててヘルプを表示すんのに字句解析するの面倒だなぁって思ってたんだけど、そんなライブラリあるんやねと。
ポイントはこんなとこ。
- NuGetパッケージのうちMicrosoft.Extensions.CommandLineUtilsをインストールする
- Microsoft.Extensions.CommandLineUtils.CommandLineApplicationクラスをインスタンス化する
- HelpOption()メソッドでヘルプを表示するときのオプションの文字列を設定する
- ExtendedHelpTextプロパティにヘルプで表示する説明文を設定する
んで、プロジェクトにパッケージのインストールする(インストールの手順はここを参考)。
Install-Package Microsoft.Extensions.CommandLineUtils
んで、コードはこんな感じ。
static void Main(string[] arguments)
{
// CommandLineApplicationクラスをインスタンス化する
var application = new Microsoft.Extensions.CommandLineUtils.CommandLineApplication(false);
application.Description = "サンプルのモジュール";
// ヘルプを表示するときの
設定をする
// 今回は"-?"でヘルプを表示するように設定する
application.HelpOption(template: "-?");
application.ExtendedHelpText = "ヘルプの内容を表示する";
// 通常実行したときのイベントを定義する
application.OnExecute(() =>
{
Console.WriteLine("通常の実行したときのメッセージを表示する");
return 0;
});
// ここまでの設定を踏まえてアプリケーションを実行する
application.Execute(arguments);
}
実行するとこんな感じ。
まずはオプションなしで実行すると
ヘルプを表示するとこんな感じ。
よくあるDOSコマンドの表示形式?で表示してくれる。
そんなこんなで、明日への自分へのメモって事で。

