C# 用の getopt ライブラリを探しています。これまでにいくつか ( phpguru、XGetOptCS、getoptfordotnet ) を見つけましたが、これらは C の getopt の一部のみをサポートする未完の試みのように見えます。完全な getopt c# 実装はありますか?
8 に答える
Miguel de Icazaは Mono.Options について絶賛しています。nuget パッケージを使用するか、単一の C# ソース ファイルをプロジェクトにコピーするだけです。
これは getopt の .NET 実装です: http://www.codeplex.com/getopt
これは私が書いたもので、かなりうまく機能し、少量のコードに対して非常に多くの機能を備えています。ただし、getopts ではありませんが、ニーズに合う場合があります。
お気軽にご質問ください。
後世のために:
CommandParser は、BSD ライセンスを持つ別のものです。
Monoプロジェクトには、属性に基づくプロジェクトがあります(またはありました)が、最後に、廃止としてマークされていることを確認しました。ただし、オープンソースであるため、コードを取り出して自分で使用できる場合があります。
getopt ではありませんが、NConsolerを試すことができます。属性を使用して引数とアクションを定義します。
記録として、NUnitには単純な 1 ファイルのコマンドライン パーサーが含まれています (およびの下にあるsrc\ClientUtilities\util\CommandLineOptions.cs
使用例を参照してください)。ファイル自体にはライセンス情報は含まれておらず、その「上流」へのリンクは無効になっているように見えるため、その法的地位は不明です。ConsoleRunner.cs
Runner.cs
src\ConsoleRunner\nunit-console
パーサーは、名前付きフラグ パラメーター ( など/verbose
)、値を持つ名前付きパラメーター ( など/filename:bar.txt
)、および名前のないパラメーターをサポートします。つまり、Windows Scripting Host がそれらを解釈する方法によく似ています。オプションの前に/
,-
および--
.