Delegates mit mehreren Return-Werten
Thomas Wölfer
28. Mai 2004
In C# kann ein Delegate mehrere Methoden haben die im zugeordnet sind. (Die Methoden werden ja mit += zugewiesen, und nicht mit = ).
Angenommen man hat einen delegate der einen Rückgabewert hat:
delegate int GetResult( int paramerter );
Und weiter angenommen, diesem Delegate sind mehrere Methoden zugeordnet. Welchen Rückhabewert erhält man nun, wenn der Delegate zurückkehrt?
Antwort: Man bekommt den Rückgabewert der zuletzt aufgerufenen Methode des Delegate. Wenn das nicht ausreicht, kann man mit GetInvocationList() alle zugehörigen Methoden ermitteln und diese einzeln aufrufen. Das muss man dann aber manuell machen.
Dank an Eric Gunnerson.