Resumen

Completado

En este módulo, ha obtenido información sobre el rol y la implementación de delegados en C#. Los delegados, derivados de la clase Delegate, se usan para el enlace dinámico y para encapsular métodos. Los objetos delegados se pueden almacenar en variables, pasar como argumentos e invocarlos más adelante. Los delegados son seguros para tipos y se pueden usar para la invocación de método dinámico, los métodos de devolución de llamada, la seguridad de tipos y la invocación de multidifusión. También ha obtenido información sobre la declaración, la creación de instancias y la invocación de delegados mediante métodos con nombre, conversión de grupos de métodos, métodos anónimos o expresiones lambda. El módulo también ha tratado el uso de delegados en escenarios como la ordenación y el filtrado, los métodos de devolución de llamada, la programación asincrónica, el control de eventos y la implementación de patrones de diseño.

Las principales conclusiones de este módulo incluyen la comprensión de cómo los delegados mejoran la flexibilidad y la reutilización del código mediante la encapsulación de métodos y su paso como parámetros. Ha aprendido sobre el uso de delegados fuertemente tipados como Action y Func que simplifican el código, mejoran la legibilidad y mejoran la capacidad de mantenimiento. El módulo también introdujo el concepto de varianza en C#, que mejora la flexibilidad en las firmas de método con delegados, lo que permite asignar métodos a delegados aunque sus tipos de parámetros o tipos devueltos no sean idénticos. También ha aprendido sobre la aplicación práctica de estos conceptos mediante un ejercicio que implica la implementación de delegados en una aplicación de C#.

Otras lecturas