CommandLineParser-Klasse
Stellt Methoden zum Einlesen und Auswerten von Kommandozeilenparametern und -optionen bereit.
Diese Klasse stellt Methoden zum Einlesen von Kommandozeilenparametern bereit. Zunächst werden alle Optionen namentlich registriert, dabei kann ein kurzer und ein langer Name angegeben werden, und ob die Option einen weiteren Parameter erfordert. Anschließend kann mit weiteren Methoden abgefragt werden, ob eine bestimmte Option angegeben wurde und welchen Parameterwert sie hat. Die Parametersyntax orientiert sich dabei an den POSIX-getopt()
-Funktionen.
Kompatibilität:
Kommandozeilenparameter in PHP? Weiter zum Arguments-Parser…
Beispiel
Der folgende Beispielcode zeigt, wie die CommandLineParser-Klasse verwendet werden kann:
public static void Main()
{
CommandLineParser clp = new CommandLineParser();
clp.AddKnownOption("h", "help");
clp.AddKnownOption("H", "host", true);
clp.AddKnownOption("u", "user", true);
clp.AddKnownOption("p", "pass", true);
clp.AddKnownOption("q", "quiet");
clp.AddKnownOption("s", "start");
clp.AddKnownOption("v", "verbose");
if (clp.IsOptionSet("h"))
{
// Show some help
Console.WriteLine("Usage:");
Console.WriteLine("");
Console.WriteLine("-h, --help Show this help");
Console.WriteLine("-u, --user <username> Specify username");
Console.WriteLine("-H, --host <hostname> Specify hostname");
Console.WriteLine("-v, --verbose Be verbose");
Console.WriteLine("…");
Console.WriteLine("");
Console.WriteLine("Examples:");
Console.WriteLine(" me.exe -h Show this help");
Console.WriteLine(" me.exe --help Show this help");
Console.WriteLine(" me.exe -u me -s Start with username 'me'");
Console.WriteLine(" me.exe -Huv server me Hostname 'server', username 'me', be verbose");
return;
}
bool beQuiet = clp.IsOptionSet("q");
bool beVerbose = clp.IsOptionSet("v");
string hostname = clp.GetOptionValue("H");
string username = clp.GetOptionValue("u");
string password = clp.GetOptionValue("p");
// Read additional arguments not belonging to any options
string filename1 = clp.GetArgument(0);
string filename2 = clp.GetArgument(1);
if (clp.IsOptionSet("s"))
{
// Start now
}
}
Download
CommandLineParser.cs5,2 KiBQuelltext der CommandLineParser-Klasse
Änderungen
GetArgumentCount
hinzugefügt.
Lizenz und Nutzungsbedingungen
Vervielfältigung und Weiterverbreitung dieser Datei, verändert oder unverändert, sind gestattet, vorausgesetzt die Urheberrechtsangabe und dieser Hinweis bleiben erhalten. Diese Datei wird wie vorliegend ohne jegliche Garantie oder Gewährleistung angeboten. (GNU All-Permissive-Lizenz)
Statistische Daten
- Erstellt am 2009-09-19, aktualisiert am 2014-02-05.
- Ca. 100 Codezeilen, geschätzte Entwicklungskosten: 100 - 400 €