##Criando Extensions Methods em C# Boas galera, hoje vamos aprender a criar extensions methods para auxiliar no desenvolvimento com C#.

Extensions Methods são muito úteis quando você precisa de uma rotina que vá ser chamada constantemente em seu código, extension methods permite que você adicione métodos a tipos primitivos e existentes, sem a necessidade de criar um novo tipo derivado.

Alguns extensions méthods já estão implementados no frameworks veja alguns para string.

string s;
var x = s.toLower();
var x = s.trim();

Com extension methods você pode fazer algo como:

string s;
var x = s.MaisculaNaPrimeiraLetra();

###Método MaisculaNaPrimeiraLetra() No exemplo a baixo criei um método que recebe uma string e retorna a mesma string porém com a primeira letra da cadeia de caracteres maiuscula.

using System;
class Program
{
    static void Main()
    {
		Console.WriteLine(MaisculaNaPrimeiraLetra("valdir precisa escrever melhor"));
    }
    static string MaisculaNaPrimeiraLetra(string s)
    {
	// Verifica se a string é nula ou vazia
	if (string.IsNullOrEmpty(s))
	{
	    return string.Empty;
	}
	// Retorna a mesma string porém com o primeiro caracter maiusculo
	return char.ToUpper(s[0]) + s.Substring(1);
    }
}

###Método MaisculaNaPrimeiraLetra() usando Extension Method Embora o método acima funcione bem, image a situação em que você precise de algo mais complexo.

string text =  "valdir precisa escrever melhor";
text = text.MaisculaNaPrimeiraLetra();

Ou você pode utilizar dessa forma

string text = "valdir precisa escrever melhor".MaisculaNaPrimeiraLetra();

Bom, para poder utilizar a segunda forma, você precisa criar o extension method para o tipo string. Veja como:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace StringExtensionMethods
{
    //Extension methods deve ser declarada como static
    public static class StringExtension
    {       
        public static string MaisculaNaPrimeiraLetra(this string s)
        {
            // Verifica se a string é nula ou vazia.
            if (string.IsNullOrEmpty(s))
            {
                return string.Empty;
            }

            // Retorna a mesma string porém com o primeiro caracter maiusculo
            return char.ToUpper(s[0]) + s.Substring(1);

        }
    }
}

Agora podemos chama-lo usando.

using StringExtensionMethods;

namespace Samples
{
    class Program
    {      
        static void Main(string[] args)
        {  
            string text = "valdir precisa escrever melhor".MaisculaNaPrimeiraLetra();
        }
    }
}

E ai curtiu esse post? Deixe seu comentário e opinião, isso é muito importante para nós.

Grande abraço.

Assine nossa newletter e receba as novidades. Nada de spammer aqui!

* Obrigatório

Ta curtindo? Compartilha com sua galera.