はじめに

オプション数が多いコンソールアプリケーションを開発していると、引数を制御するコードが複雑になってしまいがちです。そこで本稿ではCommand Line Parser Libraryというオープンソースを紹介します。このライブラリを使うとフィールドに属性を宣言するだけで引数を簡単に扱うことができます。

Command Line Parser Libraryとは

Command Line Parser Libraryは.NET向けのコマンドラインパーサーです。CodePlexにて開発(MIT License)されており、.NET Framework2.0以上の環境で動作します。 本稿では最新バージョンの「libcmdline-1.7.10.5-beta-bin.zip」を入手し「CommandLine.dll(libcmdline-bin-Releaseフォルダ)」を使用しています。

コマンドラインパーサーを使うメリット

Command Line Parser Libraryを使うメリットは次の通りです。

・引数の文字列を解析しなくて良い
・フィールドに属性を定義するだけで、引数の値を利用できる
・短縮名、正式名称、必須チェック、複数指定といった設定が簡単にできる
・ヘルプを表示できる

サンプルアプリケーションの説明

それでは、四則演算を行うサンプルアプリケーションを見ていきましょう。

四則演算アプリケーション(ConsoleSample.exe)

パラメータオプションは次の4種類です。

引数のオプション一覧

説明 短縮名 正式名 必須 複数指定
計算対象の数字1 x numx ×
計算対象の数字2 y numy ×
演算子(+,-,*,/) o なし ○(カンマ区切)
画面に表示する説明 なし desc × ×

コマンドの例を見てみましょう。

コマンドの例(2+3)

ConsoleSample.exe -x 2 -y 3 -o + --desc 2+3を計算

短縮名(1文字)はハイフン1つ、正式名はハイフン2つで認識されます。値は半角スペースの後でセットします。

他のコマンド例も見てみましょう。

コマンドの例(6×2と6÷2)

ConsoleSample.exe -x6 --numy=2 -o *,/ --desc="6×2 と 6÷2を計算"

短縮名の場合は「-x6」のように半角スペース無しで値を設定できます。正式名の場合は「--numy=2」のようにイコールの後に値を設定できます。