Son un tipo especial de método que es llamado como si fuera parte de la clase instanciada del tipo para el cual fue creado el método de extensión. Los métodos extendidos más famosos los podemos encontrar en LINQ, y le añaden funcionalidad extra a IEnumerable y a IEnumerable<T>.
Estos métodos los podemos ver cuando estemos codificando en el Intellisense después del punto.
Implementemos un ejemplo
Imaginemos que necesitamos convertir a IEnumerable<T> un List<T>; no existe un método directo de hacerlo, por lo que resulta ser el ejemplo que podríamos crear para demostrar su implementación. La idea es que nuestro ejemplo también pueda ser Generico, para que el método extendido, nos permita realizar esta tarea con cualquier tipo de dato en una List<T>.
En el código podemos identificar algunos puntos de importancia:
1. Fíjense el uso de la palabra this, es necesario usarla para que pueda usarse el método adecuadamente.
2. Fíjense en el uso de la palabra where. Establece una regla para que podamos crear una instancia genérica del tipo establecido en el código.
3. Además al final podemos ver la palabra new seguida de paréntesis.
4. También observen la letra T. Esta nos permite la libertad de codificar sin tener que establecer el tipo.
Para usarlo solo debemos escribir nuestro código y cuando escribamos el punto aparecerá entre los métodos extendidos del List<T>.
No hay comentarios:
Publicar un comentario