.NET, Code, Tools

NConsoler – Mini-Framework für Konsolenanwendungen

10 November 2008 Keine Kommentare

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:

NConsoler-Anwendung in Aktion

NConsoler-Anwendung in Aktion

Fazit: Ein nettes kleines Tool, mit dem man schnell Konsolenanwendungen mit Parameterübergabe entwickeln kann.

Ihre Meinung ist gefragt!

Sie können folgende Tags verwenden:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Dieser Blogs unterstützt Gravatare.
Falls Sie noch keines haben, können Sie Ihren persönlichen Avatar bei Gravatar erstellen.