Deep into C#: Extension Methods

D

Cada vez me pregunto que cosa puedo aprender, para profundizar mis conocimientos en C#. Sin embargo, es cuando estoy trabajando en algún proyecto en específico, tratando de resolver alguna problemática, que me llegan las mejores ideas para artículos, desafortunadamente, es cuando tengo menos tiempo. Pero aquí vamos!!

A partir de la versión 3.0 C# soporta métodos extendidos. Algo que ya había visto, pero no prestado atención y muchos menos tener una idea clara. Decidí escribir este artículo con la esperanza que arroje luz sobre sus dudas.

Empecemos por lo primero, el concepto. Los métodos extendidos son aquellos que nos permiten agregar funcionalidades a un tipo existente, agregando métodos sin necesidad de crear un nuevo tipo derivado. Además de esto tampoco necesitas crear subclases de una clase existente, recompilar o incluso modificar tu clase existente para emplear tus métodos existentes.


Nota:

Estos métodos permiten que tu código sea más legible,  y tienen algunas facilidades, los puedes agregar a tus propias clases customizadas, las clases de .NET Framework, o incluso interfaces.

Estos métodos, son un tipo especial de los métodos estáticos, sin embargo, los llamamos como si fueran instancias de métodos. Los métodos extendidos más comunes son los LINQ

(Operadores de consulta estándar), estos agregan funcionalidades a los tipos existentes: System.Collections.IEnumerable y System.Collections.Generic.IEnumerable<T> .

En resumidas cuentas, un método extendido es un tipo especial de métodos estáticos, que nos permiten agregar funcionalidad a un tipo existente incluso si no tienes acceso al código base de ese tipo.

Una Imagen que resume lo que necesitamos saber sobre métodos extendidos.

Give Some Code(código)

Crearemos una aplicación de Consola y crearemos nuestro método extendido en otro namespace. Como podemos ver importamos el namespace Extension Methods para poder utilizar el método extendido.

En este ejemplo creamos una clase estática con un método extendido, que determinará qué tan fabuloso eres. Si somos buenos observadores, notaremos que la primera palabra this (como modificador), luego de esto, los parámetros correspondientes.

Conclusiones

Como recordatorio final Para una biblioteca de clases que implementemos, no debemos usar métodos extendidos para evitar aumentar el número de versión de un ensamblaje. En caso de que necesitemos agregar una funcionalidad significativa a una biblioteca de clases (en la cual tengamos el código fuente). Debemos seguir las pautas estándar de .NET Framework para el control de versiones.

 

Bye Bye

Acerca del Autor

leslie.ramirez

Soy estudiante Ing. De tecnología de la Información y comunicación, tecnólogo superior en Desarrollo de Software. Me considero una persona innovadora y creativa, disfruto aprender cosas nuevas y desarrollar aplicaciones.

Entradas recientes

Categorías