¿Qué son los métodos de extensión??
Los métodos de extensión son una especie de método estático que elimina la molestia de editar el código fuente para agregar nuevos métodos. Esto significa que los desarrolladores pueden agregar una nueva funcionalidad a tipos como cadenas, enteros o cualquier otra clase personalizada sin tener que crear una nueva clase o modificar la clase original. Los métodos de extensión se definen en clases estáticas y usan el "este" Palabra clave Para especificar el tipo que se extiende, la sintaxis para crear un método de extensión es el siguiente:
Name de Methodpe de retorno estático público (este parámetro ExtendedType)La palabra clave pública indica que se puede acceder al método desde cualquier lugar del código, Static indica que el método es un método estático, y returnType es el tipo de datos que devuelve ese método. MethodName es el nombre del método de extensión y esta palabra clave seguida de la type extendido El parámetro indica que este método extiende la clase ExtendedType.
El parámetro es el parámetro que se pasa al método, y la implementación del método se escribe dentro de los aparatos . Esta sintaxis permite a los desarrolladores crear nuevos métodos para los tipos existentes, lo que hace que el código sea más reutilizable y modular.
Cómo usar el método de extensión para extender la clase de cadena
Supongamos que desea agregar un nuevo método a la clase de cadena que capitaliza la primera letra de la cadena, puede hacerlo utilizando un método de extensión utilizando el siguiente código dado:
usando el sistema;Hemos creado una nueva aplicación de consola que incluye la clase StringExtensions y, en general, hemos creado una variable de cadena llamada como entrada y le asignó una cadena que contiene "Hola Linux". Al lado el CapitalizeFirstletter El método de extensión se llama en la cadena de entrada, que capitaliza la primera letra de la cadena. Finalmente, imprimimos el resultado en la consola utilizando la función 'WriteLine ()' para que debe ver la salida "Hola Linux" Cuando ejecuta este programa:
Cómo usar el método de extensión para extender la clase entera
Supongamos que desea agregar un nuevo método a la clase entera que determina si el entero es uniforme o impar. Puede hacer esto utilizando un método de extensión, como se muestra a continuación:
usando el sistema;El código crea un método de extensión iseven para el tipo de datos int y el Incluso la función devuelve verdadero si el entero de entrada es uniforme y falso de lo contrario.
En general, hemos creado un número de variable entera y le hemos asignado el valor 10 y después de eso llamamos al método de extensión ISEVEN en la variable de número, que devuelve verdadero ya que 10 es incluso. Finalmente, imprimimos el resultado en la consola utilizando la función 'WriteLine ()' para que debe ver la salida "10 es uniforme" Cuando ejecuta este programa:
Cómo usar el método de extensión para extender la interfaz de lista
Digamos que desea agregar un nuevo método al Ilista interfaz que determina si la lista está vacía o no y para hacer su uso de un método de extensión, como se muestra a continuación:
usando el sistema;En este ejemplo, hemos creado un método de extensión Isempty for the ilist Tipo de datos, donde t es un parámetro de tipo genérico. El Esta vacio El método devuelve verdadero si la lista de entrada es nula o no tiene elementos, y falso lo contrario. En general hemos creado un nuevo Lista se llamó números y luego llamó al Esta vacio Método de extensión en la lista de números, que devuelve verdadero ya que la lista está vacía. Inicialmente, imprimimos el resultado en la consola utilizando la función 'WriteLine ()' para que debe ver la salida "La lista está vacía" Cuando ejecuta este programa:
Conclusión
Los métodos de extensión son una de las características más útiles de C# que permite a los programadores extender los tipos existentes con una nueva funcionalidad sin modificar su código original. Los métodos de extensión se definen en una clase estática y usan el "este" Palabra clave seguida del tipo que se extiende para indicar que son métodos de extensión. En este artículo, hemos visto tres ejemplos de métodos de extensión que extienden las clases de cadena, entero e ilista.