NConsoler – Mini-Framework für Konsolenanwendungen
Ab und an braucht man auch heutzutage noch Konsolenanwendungen, z. B. für kleine Tools. Nun ist an einer Konsolenanwendung nicht sonderlich viel spannendes abzuringen – bis auf das immer wieder kehrende Leid der Übergabe von Parametern.
Im Netz gibt es einige Code-Snippets und Parser, die Kommandozeilenparameter aufbereiten und das lästige interpretieren von Werten abnehmen. Bei der Suche nach eben so einem Parser bin ich auf NConsoler gestoßen, einem “Mini-Framework” für Konsolenanwendungen.
Das interessante an NConsoler ist der Ansatz der deklarativen Definition von Parametern und Operationen. Anstatt das Standard String-Array von Argumenten zu interpretieren, werden die möglichen Aktionen und Parameter einfach per Attribut definiert. Ein Vorteil dessen ist sicherlich der “Design by Contract”-Ansatz. Ein kleines Beispiel veranschaulicht die einfache Verwendung:
namespace ConsoleCalculator
{
class Program
{
static void Main(string[] args)
{
Consolery.Run(typeof(Program), args);
}
[Action]
public static void Add
(
[Required]
int first,
[Required]
int second,
[Optional(0)]
int third
)
{
Console.WriteLine("Result: {0}", first + second + third);
}
[Action]
public static void Multiply
(
[Required]
int first,
[Required]
int second,
[Optional(1)]
int third
)
{
Console.WriteLine("Result: {0}", first * second * third);
}
}
}
Auf der Konsole sieht das Ergebnis dann foldendermaßen aus:
Fazit: Ein nettes kleines Tool, mit dem man schnell Konsolenanwendungen mit Parameterübergabe entwickeln kann.









Ihre Meinung ist gefragt!