/ itsummaries

[GER] C Sharp

Vererbung

  • Eine abstrakte Klasse, stellt im Gegensatz zu einem Interface bereits grundlegende Funktionalität zur Verfügung
  • Virtuelle Methoden rufen immer die überschriebene Methode der "most-derived class" auf. Also die Methode der untersten Hierarchieebene.
  • Um eine Klasse auf mehrere Quelldateien aufzuteilen kann das partial Schlüsselwort verwendet werden.

Generische Programmierung

Mit folgender Syntax kann generisch programmiert werden. Zu beachten ist, dass einmal verlorene Typinformationen kaum wieder herzustellen sind.

public class MyGenericClass<T> {
    T GenericProperty {get; set;}
}

Extensions

Mit Extensions können geschlossene Klassen um Funktionen erweitert werden. Diese gelten innerhalb des Namespaces der Extension und besitzen folgene Syntax:

public static bool isInteger(this int i) {return true;}

Lambda

Threading

  • Lock wird mit einem Objekt (fürs Scope) aufgerufen und sorgt dafür, dass nur ein Thread den Code ausführen kann.
Threading mit Lambda

Mit Lambdas kann man folgenden Code inline darstellen:

void worker() {
    DoSomeWork();
}

new Thread(worker).Start();

Inline:

(new Thread(() => { DoSomeWork(); })).Start();