⚗️Métodos de Extensión
Los métodos de extensión te permiten "añadir" métodos a clases existentes sin la necesidad de modificarlas, heredar de ellas o usar técnicas de decoración. Es como darles superpoderes a las clases sin tocar su código original.
Cómo se Definen 🛠️
Clase Estática: Crea una clase estática que actuará como contenedor de uno o más métodos de extensión.
public static class MyExtensionMethods
{
}
Método Estático: Dentro de esta clase, define un método estático.
Primer Parámetro con this
: El truco para hacer que un método estático sea un método de extensión es agregar this
antes del primer parámetro del método. Esto indica el tipo al que el método extiende.
public static void MyExtensionMethod(this MyClass instance)
{
// Tu código aquí
}
Ejemplo Práctico 🌟
Supongamos que quieres extender la clase string
para verificar si es un email:
public static class StringExtensions
{
public static bool IsEmail(this string str)
{
return Regex.IsMatch(str, @"^[^@\s]+@[^@\s]+\.[^@\s]+$");
}
}
// Uso:
string email = "ejemplo@correo.com";
bool esEmail = email.IsEmail();
Console.WriteLine($"¿Es un email? {esEmail}");
Última actualización