質問

C#のgetoptライブラリを探しています。これまでのところ、いくつか( phpguru XGetOptCS getoptfordotnet )が、これらはCのgetoptの一部のみをサポートする未完了の試みのように見えます。 完全なgetopt c#実装はありますか?

役に立ちましたか?

解決

getoptの.NET実装は次のとおりです。 http://www.codeplex.com/getopt

他のヒント

Miguel de Icaza Mono.Optionsについての評価 nugetパッケージを使用するか、単に単一のC#ソースファイルをプロジェクトに追加します。

後世の場合:

CommandParserは別のものです BSDライセンス

ここは私が書いたものです、かなりうまく機能し、ごく少量のコードに対して非常に多くの機能を備えています。ただし、getoptsではありませんが、ニーズに合う場合があります。

お気軽に質問してください。

getoptではありませんが、 NConsoler を試すことができます。属性を使用して、引数とアクションを定義します。

Monoプロジェクトには属性に基づいたものがあります(むしろありました)が、最後に、古いものとしてマークされていることを確認しました。ただし、オープンソースなので、コードを引き出して自分で使用できる場合があります。

レコードの場合、 NUnit には、 src \ ClientUtilities \ utilに単純な1ファイルのコマンドラインパーサーが含まれています。 \ CommandLineOptions.cs src \ ConsoleRunner \ nunit-console の下にある ConsoleRunner.cs および Runner.cs の使用例を参照してください) )。ファイル自体にはライセンス情報は含まれておらず、そのアップストリームへのリンク ;死んでいるようで、その法的地位は不確かです。

パーサーは、名前付きフラグパラメーター( / verbose など)、値を持つ名前付きパラメーター( /filename:bar.txt など)および名前のないパラメーター、つまり Windows Scripting Hostがそれらを解釈する方法のスタイル。オプションには、 / -、および-のプレフィックスが付いている場合があります。

私の友人が docopt.net を提案しました。 Node.JS用の docopt ライブラリに基づくコマンドライン引数解析ライブラリ。使い方は非常に簡単ですが、高度であり、記述したヘルプ文字列に基づいて引数を解析します。

サンプルコードを次に示します。

using System;
using DocoptNet;

namespace MyProgram
{
    static class Program
    {
        static void Main(string[] args)
        {
            // Usage string
            string usage = @"This program does this thing.

Usage:
  program set <something>
  program do <something> [-o <optionalthing>]
  program do <something> [somethingelse]";

            try
            {
                var arguments = new Docopt().Apply(usage, args, version: "My program v0.1.0", exit: false);
                foreach(var argument in arguments)
                    Console.WriteLine("{0} = {1}", argument.Key, argument.Value);
            }
            catch(Exception ex)
            {
                //Parser errors are thrown as exceptions.
                Console.WriteLine(ex.Message);
            }
        }
    }
}

最初のリンクとこちらの両方で、ドキュメント(ヘルプメッセージ形式を含む)を見つけることができます。

それが誰かを助けることを願っています!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top