Para comenzar creamos un proyecto de consola C#, al cual llamaremos MetodoDeExtension:
Luego añadiremos una clase para crear un método, a la cual llamaremos metodo de MetodoDeExtension1:
Una vez creada la clase escribiremos el siguiente código en ella: public static int ContadorDePalabras (this String texto)
{
return texto.Split(new char[] { ' ', '.', '?' }, StringSplitOptions.RemoveEmptyEntries).Length;
}
El método recibe por parámetro un texto y retorna la cantidad de palabras que contiene el mismo.
Luego de crear el método iremos al programa principal y escribiremos el siguiente código:
string texto = "Mis métodos de extension. Contador de palabras.";
int i = texto.ContadorDePalabras();
Console.WriteLine(texto);
Console.WriteLine("El texto contiene " + i + " palabras.");
Console.ReadLine();
En la primer línea declaramos el texto, en la segunda línea llamamos al método, en la tercer y cuarta línea imprimimos en pantalla el texto y el resultado del método respectivamente.
Cuando corremos el proyecto obtendremos lo siguiente:
Otro ejemplo es crear un método que se encargue de hacer todo sin paso de parámetros, es decir, añadimos una clase nuevamente a la cual llamaremos MetodoDeExtension2 y dento de ella escribiremos el siguiente código:
public static void OrdenarEnteros()
{
int[] enteros = { 10, 45, 15, 39, 21, 26 };
Console.WriteLine(" ");
foreach (var i in enteros)
{
System.Console.Write(i + " ");
}
var result = enteros.OrderBy(g => g);
Console.WriteLine(" ");
Console.WriteLine("Ordenamos la lista de enteros.");
Console.WriteLine(" ");
foreach (var i in result)
{
System.Console.Write(i + " ");
}
}
Luego en el programa principal escribimos el siguiente código para llamar al método:
MetodoDeExtension2.OrdenarEnteros();
Por lo que el código del programa principal nos quedaría:
namespace MetodosDeExtension
{
class Program
{
static void Main(string[] args)
{
string texto = "Mis métodos de extension. Contador de palabras.";
int i = texto.ContadorDePalabras();
Console.WriteLine(texto);
Console.WriteLine("El texto contiene " + i + " palabras.");
MetodoDeExtension2.OrdenarEnteros();
Console.ReadLine();
}
}
}
Cuando corremos el proyecto obtendremos:
En el último método estamos utilizando expresión lambda (g => g) e inferencia de datos (var result), estos temas serán tratados próximamente.
De esta manera podemos ver dos formas de como trabajar con métodos de extensión.
No hay comentarios:
Publicar un comentario