C# LanguageDelegados


Observaciones

Resumen

Un tipo de delegado es un tipo que representa una firma de método particular. Una instancia de este tipo se refiere a un método particular con una firma coincidente. Los parámetros de los métodos pueden tener tipos de delegado, por lo que este único método puede pasar una referencia a otro método, que luego puede invocarse

Tipos de delegados incorporados: Action<...> , Predicate<T> y Func<...,TResult>

El espacio de nombres del System contiene delegados de Action<...> , Predicate<T> y Func<...,TResult> , donde "..." representa entre 0 y 16 parámetros de tipo genérico (para 0 parámetros, Action no. genérico).

Func representa métodos con un tipo de retorno que coincide con TResult , y Action representa métodos sin un valor de retorno (vacío). En ambos casos, los parámetros de tipo genérico adicionales coinciden, en orden, con los parámetros del método.

Predicate representa el método con el tipo de retorno booleano, T es el parámetro de entrada.

Tipos de delegados personalizados

Los tipos de delegado con nombre se pueden declarar utilizando la palabra clave delegate .

Invocando delegados

Los delegados pueden invocarse utilizando la misma sintaxis que los métodos: el nombre de la instancia del delegado, seguido de paréntesis que contienen cualquier parámetro.

Asignación a delegados

Los delegados pueden ser asignados de las siguientes maneras:

  • Asignando un método nombrado
  • Asignar un método anónimo utilizando un lambda
  • Asignación de un método nombrado utilizando la palabra clave delegate .

Combinando delegados

Se pueden asignar varios objetos delegados a una instancia de delegado utilizando el operador + . El operador - se puede usar para eliminar un componente delegado de otro delegado.

Delegados Ejemplos relacionados