Wake-On-Lan mit C#-Methode auslösen

Ich hätte hier mal ein kleines Snippet, was ich euch nicht vorenthalten will. Die Methode schickt das sogenannte “Magic Packet” an einen Rechner im lokalen Netz um diesen per Wake-On-Lan einzuschalten (vorausgesetzt die Konfiguration ist korrekt und die Hardware unterstützt Wake-On-Lan). Das ganze habe ich für Quickschedule gebraucht. Das ist ein kleines Tool um Aufnahmen vom TVBrowser in’s Mediaportal zu schieben.

Continue reading

.NET 4.0 und optionale Parameter

So, von mir zu vorgerückter Stunde noch ein klieines Schmankerl.

Die Situation kennt wohl jeder OO-Programmierer: Man muss seine Methode um einen optionalen Paramater erweitern und mag nicht alle aufrufenden Stellen anpassen. Die Lösung ist logischweise eine Überladung. Bisher war es anschließend notwendig einen Methodenrumpf ohne den optionalen Parameter zu erstellen, in dem wiederrum NUR die neue Überladung aufgerufen werden muss. Will man weitere Parameter hinzufügen, wiederholt sich das Spielchen bis man einen unübersichtlichen Haufen von Methoden hat.

In .NET 4 haben sich die Entwickler was schlaues ausgedacht um das Problem zu umgehen. Parameter kann man jetzt nämlich ganz einfach (Durch Zuweisung in der Signatur) mit einem Defaultwert ausstatten.

Ein kleines Beispiel:

static void Main(string[] args)
{
 HelloWorld(); // hello world
 HelloWorld("hello", ".net 4.0");
 Console.ReadKey();
}

static void HelloWorld(string greet = "hello", string who = "world" )
{
 Console.WriteLine("{0} {1}", greet, who);
}