.NET Tricks Teil 2

Mal wieder gibt es Tipps&Tricks zu .Net zu berichten. Nachdem ich letztes Mal über die Klasse Path geschrieben habe, geht es diesmal um statische Konstruktoren. Wer kennt das nicht:

public static void Init() {  }

Alle möglichen Helper Klassen haben Init() Methoden. Und wenn man dann doch mal vergisst die aufzurufen… 😉 In „normalen“ Klassen würde man solche Arbeiten im Konstruktor erledigen, aber für manche Dinge sind statische Klassen einfach besser. Ich habe z.B. in tKoD einen ScriptingManager, einen NetworkManager, usw. Und dementsprechend auch eine lange Liste von Init() Aufrufen am Anfang meines Spiels. Aber daran haben die Macher von .Net gedacht! Denn es gibt statische Konstruktoren! Sie werde durch folgende Anweisung deklariert:

class Foo
{
static Foo()
{
//statischer Konstruktor
}
}

Weiterlesen

.NET Tricks Teil 1

Ich werde immer mal wieder kleine Tricks veröffentlichen, die mir so über den Weg laufen (oder mir selber einfallen…)

Heute: Die Klasse Path!

Wer kennt das nicht: man hat einen Pfad und möchte nur den Dateiname haben. Natürlich gibt es viele einfache Möglichkeiten:

Nr. 1: String.Split()

string path = @"C:OrdnerTest.abc";
string[] split = path.Split(new char[]{''});
string filename = split[split.Lenght - 1];

Nachteil: 2 Zeilen Code, sowie 2 überflüssige Arrays! Das belastet den Gabage Collector wenn das öffter macht!

Nr. 2 FileInfo

string path = @"C:OrdnerTest.abc";
FileInfo fi = new FileInfo(path);
string filename = fi.Filename;

Nachteil: Wie oben ein überflüssiges Objekt. Ich weiss, man könnte das Object gloabl halten, aber trotzdem sind es 2 Zeilen Code!

Weiterlesen