我正在尋找c#的getopt庫。到目前爲止,我發現了一些(phpguru,XGetOptCS,getoptfordotnet),但這些看起來更像未完成的嘗試,只支持C的getopt的一部分。 是否有完整的getopt c#實現?C的GetOpt庫#
回答
這裏的getopt的.NET實現:http://www.codeplex.com/getopt
這不是getopt,但你可以試試NConsoler。它使用屬性來定義參數和操作。
Here是我寫的東西,它的工作原理非常好,並且對於少量的代碼有很多功能。但它不是getopts,但它可能適合您的需求。
隨意問一些問題。
單聲道項目有(或者有)一個基於屬性,但最後我檢查它被標記爲過時。但是由於它是開源的,你可能可以將代碼拉出來並自己使用它。
Mono中的cmd行解析器在BCL中很棒。我一直使用它,並認爲它很棒。 – 2008-10-06 19:50:17
爲後人:
CommandParser is another one與BSD許可證
米格爾奧德伊卡薩raves about Mono.Options。您可以使用nuget package,或者將single C# source file複製到您的項目中。
對於記錄,NUnit包括src\ClientUtilities\util\CommandLineOptions.cs
簡單的一文件的命令行解析器(參見ConsoleRunner.cs
和Runner.cs
位於src\ConsoleRunner\nunit-console
下例如使用)。該文件本身不包含任何許可信息,而其「上游」似乎已經死亡,因此其法律地位尚不確定。
解析器支持命名標誌參數(如/verbose
),命名參數與值(如/filename:bar.txt
)和未命名參數,也就是多如何Windows Scripting Host interprets them的風格。選項可能以/
,-
和--
作爲前綴。
我的一位朋友建議docopt.net, 一個基於docopt庫的Node.JS的命令行參數解析庫。它使用起來非常簡單,但是根據您編寫的幫助字符串進行高級和分析參數。
下面是一些示例代碼:
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);
}
}
}
}
您可以同時在第一鏈路和here爲它的文檔(包括其幫助消息格式)。
希望它可以幫助別人!
- 1. getopt()在ANSI C
- 2. C編程 - getopt
- 3. C/C++的getopt optstring語法
- 4. unistd.h庫的getopt()函數
- 5. C getopt - <integer>
- 6. 字符串上的getopt()C
- 7. getopt庫不會加載
- 8. Getopt :: Declare vs Getopt :: Long
- 9. C,getopt()如何更新
- 10. C getopt,strdup函數代碼
- 11. 在C++中實現簡單的getopt
- 12. 通過getopt的
- 13. 秩序的getopt
- 14. getopt - capture'?'
- 15. C強制getopt先停止參數
- 16. 的Getopt轉變OPTARG
- 17. 解析'?'在getopt的
- 18. getopt()的變量optarg()
- 19. MacOS上的getopt 10.12
- 20. Getopt in shell
- 21. PHPunit和getopt
- 22. 的Getopt結合參數
- 23. 用於Visual Studio CRT的getopt?
- 24. 奇怪的getopt = s處理?
- 25. 的Getopt ::龍和匿名子
- 26. 正確的getopt用法
- 27. bash腳本中的php getopt
- 28. 可選的getopt函數
- 29. 鏈接getopt的主罐子
- 30. Getopt可選參數?
鏈接中斷 – 2015-04-03 08:11:52