コンソールアプリケーションを開発する際、コマンドライン引数の解析部分の実装に意外と時間を取られる。
NConsolerを使えばこの地味に面倒で煩雑になりがちなコマンドライン引数の解析をシンプル且つスマートに実装することができる。
NConsoler
http://nconsoler.csharpus.com/
[サンプル]
using System;
using NConsoler;
namespace NConsolerSample
{
    class Program
    {
        static void Main(string[] args)
        {
            Consolery.Run(typeof(Program), args);
        }
        [Action("実行する")]
        public static void DoWork(
            [Required(Description="件数:実行する件数を指定する")]int count,
            [Optional(false,Description="フラグ:フラグを指定する")]bool flag)
        {
            Console.WriteLine("DoWork {0} {1}", count, flag);
        }
    }
}
[実行例]
c:\NConsolerSample.exe 1 DoWork 1 False
↓Usageの表示も可能
c:\NConsolerSample.exe /? 実行する usage: NConsolerSample count [/flag] count 件数:実行する件数を指定する [/flag] フラグ:フラグを指定する
コンソールオプションがAction属性メソッドの引数に展開される点が特徴的ですね。
返信削除似た機能を持つOSSとして「Command Line Parser Library」もあります。こちらの場合、コンソールオプションは引数格納用クラスのフィールドに展開されます。
http://journal.mycom.co.jp/articles/2010/01/04/parser/index.html
情報ありがとうございます!!
返信削除「Command Line Parser Library」記事も書かかれているんですね。
aoki1210さんの書かれた記事のリンク一覧があれば教えていただきたいです。
私の書いた記事の一覧はこちらです。良かったら読んでみてください。
返信削除http://d.hatena.ne.jp/aoki1210/about