#

C#: Delegat
Delegate
Was ist ein Delegat?
Delegate sind Funktionszeiger. Man benötigt diese, wenn man eine Funktion zur Laufzeit ausführen möchte, aber noch nicht weiß welche.
Ein Beispiel: ich möchte die Funktion rot, grün oder blau ausführen, je nachdem welche Farbe ein Auto hat.


Ein Delegat ist ein Ausdruck, der auf eine Funktion zeigt (Funktionszeiger)
gib mir eine Funktion a, b oder c oder eine die ich noch nicht kenne und führe diese aus:
Wie hier im Beispiel unter MSDN:


// erstelle ein Delegate
Del handler = DelegateMethod;

// führe die Funktion aus
handler ("Hello World");
Quelle : https://msdn.microsoft.com/de-de/library/ms173172.aspx


Weiteres Beispiel in Lambda Ausdrücken =>
Ein weiteres Beispiel findet man bei Lambda Ausdrücken, wie hier: erstelle ein TestDelegate aus n
mit dem Ergebnis aus dem Inline-Ausdruck{..} auf der rechten Seite

hier im Beispiel wird Hello World ausgebeben

delegate void TestDelegate(string s);

TestDelegate myDel = n => { string s = n + " " + "World"; Console.WriteLine(s); };
myDel("Hello");

Der obige Code bedeutet:
  1. Erstelle einen Delegate-Typ, in den man einen String s eingeben kann
  2. Erstelle ein Delegat selbst, in der die Eingabe Anweisung eingefügt wird, die bei einer Eingabe von n den Text n erweitert mit Leer und World und dann ausgibt.
  3. Dann wird der die Delegat-Funktion ausgeführt.



Quelle: https://msdn.microsoft.com/de-de/library/bb397687.aspx

C# = schwere Sprache bei den vielen Sonderbedeutungen
Mobile

.

123movies