¿Cómo agregar funciones a tipos de datos ya existentes sin modificar el archivo de origen? Un paso por métodos de extensión para que podamos agregar funcionalidades a clases, sin tener que modificarlas.

CONOCIMIENTOS NECESARIOS:

  • Variables.
  • Métodos / Funciones.
  • Clases.
  • Modificadores (al menos static).

CONOCIMIENTOS QUE SERÍAN ÚTILES:

  • Uso de Generics.
  • LINQ.
  • Uso de arreglos (más que nada para los ejemplos).

INTRODUCCIÓN:

Los métodos de extensión sirven básicamente para que podamos agregar una funcionalidad extra a nuestras clases, sin tener que modificar las mismas escribiendo código extra, muchas veces para no agrandar más el tamaño del archivo, y otras veces porque no tenemos acceso a él por estar en un archivo DLL. Otra alternativa por la cual podemos querer usar esto es para agregar funcionalidad a un grupo entero de tipos de datos. Por ejemplo, a todos los datos que sean “enumerables” (que implementen la interfaz IEnumerable, por ejemplo, el tipo de datos List), podríamos agregarles una función para mezclar los valores, llamada “Shuffle” (es sólo un nombre, no necesariamente se debe llamar así).

Para los ejemplos pueden usar .NET Fiddle para poder compilarlos y ejecutarlos.