Junior
¿Qué es un método de extensión en C#?
sobes.tech AI
Respuesta de la IA
El método de extensión (Extension Method) es un método estático que puede ser llamado como si fuera un método del tipo que se está extendiendo, aunque en realidad está definido fuera de ese tipo.
Características principales:
- Es un método estático declarado en una clase estática.
- El primer parámetro del método de extensión debe estar marcado con la palabra clave
thisy indicar el tipo que deseas extender. - Los métodos de extensión no tienen acceso a los miembros privados y protegidos del tipo que se extiende.
- Permiten agregar funcionalidad a tipos existentes sin modificar su código fuente ni usar herencia.
Ejemplo de creación y uso:
-
Definición de una clase estática y un método de extensión:
public static class StringExtensions // Clase estática { public static string ToTitleCase(this string input) // Método de extensión para el tipo string { if (string.IsNullOrEmpty(input)) { return input; } // Lógica simple para convertir a Title Case return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower()); } } -
Uso del método de extensión:
string myString = "hello world"; string titleCaseString = myString.ToTitleCase(); // Llamada como si fuera un método normal de string // titleCaseString ahora contiene "Hello World"