Sobes.tech
Junior

¿Qué delegados conoces?

sobes.tech AI

Respuesta de la IA

Los principales tipos de delegados en .NET:

  • System.Delegate (clase abstracta base) — la base para todos los delegados.
  • System.MulticastDelegate (hereda de Delegate) — permite que un delegado contenga varios métodos.
  • Delegados genéricos en .NET Framework 3.5+:
    • Action — delegado sin valor de retorno (void).
    • Action<T> ... Action<T1, T2, T3, T4> — delegados con uno a cuatro parámetros y sin valor de retorno.
    • Func<TResult> — delegado con valor de retorno del tipo TResult y sin parámetros.
    • Func<T, TResult> ... Func<T1, T2, T3, T4, TResult> — delegados con uno a cuatro parámetros y valor de retorno del tipo TResult.
    • Predicate<T> — tipo especial Func<T, bool>, que representa un método que define un conjunto de criterios y determina si un objeto dado cumple con estos criterios.

Ejemplo de uso de Action y Func:

// Delegado Action: acepta un int, no devuelve nada
Action<int> printNumber = (num) => Console.WriteLine(num);
printNumber(10); // Imprime 10

// Delegado Func: acepta dos int, devuelve un int
Func<int, int, int> addNumbers = (a, b) => a + b;
int result = addNumbers(5, 3); // result = 8

Los delegados también se usan en eventos (event).