Sobes.tech
Junior

Welche Delegierten kennst du?

sobes.tech KI

Antwort von AI

Die wichtigsten Delegattypen in .NET:

  • System.Delegate (abstrakte Basisklasse) — Grundlage für alle Delegaten.
  • System.MulticastDelegate (erbt von Delegate) — ermöglicht es einem Delegaten, mehrere Methoden zu enthalten.
  • Generische Delegaten in .NET Framework 3.5+:
    • Action — Delegat ohne Rückgabewert (void).
    • Action<T> ... Action<T1, T2, T3, T4> — Delegaten mit einem bis vier Parametern und ohne Rückgabewert.
    • Func<TResult> — Delegat mit Rückgabewert vom Typ TResult und ohne Parameter.
    • Func<T, TResult> ... Func<T1, T2, T3, T4, TResult> — Delegaten mit einem bis vier Parametern und Rückgabewert vom Typ TResult.
    • Predicate<T> — spezieller Typ Func<T, bool>, der eine Methode darstellt, die eine Reihe von Kriterien definiert und bestimmt, ob ein angegebenes Objekt diesen Kriterien entspricht.

Beispiel für die Verwendung von Action und Func:

// Action-Delegat: nimmt int, gibt nichts zurück
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // Gibt 10 aus

// Func-Delegat: nimmt zwei int, gibt int zurück
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // Ergebnis = 8

Delegaten werden auch in Ereignissen (event) verwendet.