Definición - ¿Qué significa delegado?
Un delegado es un puntero de función orientado a objetos, administrado, seguro y de tipo seguro en el marco .NET. Una firma de delegado incluye su nombre, tipo de retorno y argumentos que se le pasan. En lugar de pasar datos, un delegado pasa un método a otro método. Los delegados se utilizan en muchos contextos, incluida la implementación de devoluciones de llamada y controladores de eventos, puntos de hilo de entrada y múltiples tipos de especificaciones de métodos. Dado que un delegado no conoce la clase de un objeto referenciado, se utiliza para la invocación anónima.
Techinfo explica Delegado
El propósito principal de un delegado es vincular el objeto delegado con el llamador, lo que significa que la referencia del método llamado no requiere especificación en tiempo de compilación. Los delegados juegan un papel vital en el modelo de programación impulsado por eventos, donde los controladores de eventos se agregan a los controles de la interfaz de usuario (UI).
Los tipos de delegados son:
- Lanzamiento único: apunta a un método único
- Multidifusión: se refiere a varios métodos, cada uno con la misma firma y solo incluye métodos que devuelven vacío para evitar excepciones durante el tiempo de ejecución
Otras características de los delegados son las siguientes:
- Se ejecutan bajo los permisos de quien llama, versus declarante.
- Los objetos delegados son inmutables.
- Su modificador de acceso predeterminado es privado (interno) o público.
- Se puede usar un delegado solo después de la instanciación.
- Los delegados pueden declararse como tipos anidados con modificadores de accesibilidad para la clase o estructura que los contienen. En caso de error durante la ejecución del método delegado, la excepción lanzada se pasa de nuevo al llamador del delegado y se detienen las invocaciones posteriores.