Je suis à la recherche d'une bibliothèque getopt pour C#. Jusqu'à présent, j'ai trouvé quelques-uns (phpguru, XGetOptCS, getoptfordotnet) mais ceux-ci ressemblent plus à des tentatives inachevées qui ne supportent qu'une partie de getopt de C. Y a-t-il une implémentation complète de getopt C#?Bibliothèque GetOpt pour C#
Répondre
Voici une implémentation .NET de getopt: http://www.codeplex.com/getopt
Ce n'est pas getopt, mais vous pouvez essayer NConsoler. Il utilise des attributs pour définir les arguments et les actions.
Here est quelque chose que j'ai écrit, cela fonctionne plutôt bien, et a beaucoup de fonctionnalités pour la petite quantité de code. Ce n'est pas getopts cependant, mais cela peut convenir à vos besoins.
N'hésitez pas à poser des questions.
Le Projet Mono a (ou plutôt avait) un projet basé sur des attributs, mais la dernière fois que j'ai vérifié qu'il était marqué comme obsolète. Mais puisque c'est open source, vous pourriez être en mesure d'extraire le code et de l'utiliser vous-même.
L'analyseur de ligne cmd dans Mono serait génial dans la BCL. Je l'utilise tout le temps et pense que c'est génial. –
pour la postérité:
CommandParser is another one avec une licence BSD
Miguel de Icaza raves about Mono.Options. Vous pouvez utiliser le nuget package ou simplement copier le single C# source file dans votre projet.
Pour mémoire, NUnit comprend un analyseur simple ligne de commande d'un fichier src\ClientUtilities\util\CommandLineOptions.cs
(voir un exemple d'utilisation dans ConsoleRunner.cs
et Runner.cs
situé sous src\ConsoleRunner\nunit-console
). Le fichier lui-même ne comprend aucune information de licence, et un link à son "en amont" semble être mort, donc son statut juridique est incertain.
L'analyseur prend en charge les paramètres nommés drapeau (comme /verbose
), les paramètres nommés avec des valeurs (comme /filename:bar.txt
) et des paramètres sans nom, qui est, bien dans le style de la façon dont Windows Scripting Host interprets them. Les options peuvent être préfixées avec /
, -
et --
.
Un de mes amis a suggéré docopt.net, une bibliothèque d'analyse d'argument de ligne de commande basée sur la bibliothèque docopt pour Node.JS. Il est très simple à utiliser, mais avancé et analyse les arguments basés sur la chaîne d'aide que vous écrivez.
Voici quelques exemples de code:
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);
}
}
}
}
Vous pouvez trouver de la documentation pour elle (y compris son format d'aide de message) à la fois le premier maillon et here.
Espérons que ça aide quelqu'un!
- 1. comportement getopt() est inhabituel
- 2. Bibliothèque JSON pour C#
- 3. Bibliothèque Claims + Tokens pour C#
- 4. bibliothèque méthodes Fluent pour C#
- 5. Bibliothèque C pour l'analyse de la date
- 6. Bonne bibliothèque SMTP + SSL/TLS pour C?
- 7. Bibliothèque C# pour la conformité (x) html
- 8. Bonne bibliothèque de type STL pour C
- 9. Bibliothèque C++ pour la gestion de session?
- 10. Bibliothèque de points de contrôle pour C#
- 11. bibliothèque de compression pour c et php
- 12. Bibliothèque de programmation fonctionnelle pour Objective-C
- 13. Structure de répertoire pour une bibliothèque C++
- 14. Meilleure bibliothèque pour les statistiques en C++?
- 15. Bibliothèque d'analyse HTTP pour Linux C++
- 16. Petite bibliothèque Unicode open source pour C/C++
- 17. Meilleure bibliothèque réseau C/C++
- 18. Moindres carrés Bibliothèque C#
- 19. Bibliothèque d'impression PDF C#
- 20. Bibliothèque SFTP C++?
- 21. C Bibliothèque d'images
- 22. Bibliothèque d'aide C#/ASP.NET
- 23. C# Bibliothèque commune
- 24. getopt n'analyse pas les arguments facultatifs en paramètres
- 25. bibliothèque côté serveur (c/C++) xmlrpc
- 26. Appelez la bibliothèque C++ en C#
- 27. Bibliothèque d'E/S réseau simple C/C++
- 28. Bibliothèque mathématique C avec intégration?
- 29. Bibliothèque Eye-Tracking en C#, C/C++ ou Objective-C
- 30. SWFAddress Deeplinks et bibliothèque C#?
le lien est rompu –