Delegaten in .NET

Das .Net Framework beinhaltet bereits Delegaten, welche bestimmte Signaturen haben.

1. Der EventHandler

stellt einen Delegaten dar, der keinen Rückgabewert hat (void), und 2 Parameter hat. 1. Ist der object sender , welcher das Senderobject implementiert und EventArgs[] welcher evtl. Argumente beinhalten kann. Diesen Delegaten findet man, wenn man zu einem Event von Steuerelementen eine Methode aufruft.

2. Action<>

Der Action Delegat besitzt keinen Rückgabewert, wohl aber bis zu 16 Parameterelemente. Dieser Delegat kann z.B. dazu verwendet werden um eine Methode mit der Task Klasse aufzurufen und diese im neuen Thread zu starten.
[crayon-673f3037cffdc643499082/]
Das geht natürlich auch mit anonymen Methoden
[crayon-673f3037cffe2189405675/]
3. Func<>

Der Func Delegat ist dem Action<> Delegaten gleich, liefert im Gegensatz zu ihm aber einen Rückgabewert