Hallo,<br>hat evt. jemand begriffen was Delegates genau sind und was man damit machen kann?<br>Jens Schumann
Announcement
Collapse
No announcement yet.
C# Delegates
Collapse
X
-
Hallo,
ein <i>Delegate</i> ist ein typsicherer, objektorientierter Funktionszeiger, über den man verschiedene Implementierungen einer Methode aufrufen kann. Am besten ist der Einsatz mit der <i>Ereignisbehandlungsmethode</i> von Delphi vergleichbar.
Zum Beispiel könnte das so aussehen:
<pre>
Public delegate int GenericFunction(int a, int b);
Private int AddVersion1(int a,int b)
{
}
Private int AddVersion2(int a,int b)
{
}
</pre>
Ein Delegate "passt" für zwei Methoden, wobei man im Programm nun jeweils eine der Methoden zuweisen kann:
<pre>
GenericFunction fnAdd = new GenericFunction(AddVersion1);
</pre>
oder
<pre>
GenericFunction fnAdd = new GenericFunction(AddVersion2);
</pre>
Beim Aufruf von <i>fnAdd</i> wird dann die Methode ausgeführt, die zur Zeit diesem Delegate zugewiesen wurde
-
Über Delegates kann ich aber auch eine ganze Reihe von Funktionen mit gleichen Parametern aufrufen. Wie diese abgearbeitet werden, ist mir allerdings noch nicht ganz klar.
Dies kann über (unter verwendung des bestehenden Codes) wie folgt implementiert werden:
<i>
GenericFunction fnAdd = new GenericFunction(AddVersion1);
fnAdd += new GenericFunction(AddVersion2);
<i>
Comment
Comment