Junior
O que é um método de extensão em C#?
sobes.tech IA
Resposta da IA
O método de extensão (Extension Method) é um método estático que pode ser chamado como se fosse um método do tipo que está a ser estendido, embora na realidade seja definido fora desse tipo.
Principais características:
- É um método estático declarado numa classe estática.
- O primeiro parâmetro do método de extensão deve estar marcado com a palavra-chave
thise indicar o tipo que deseja estender. - Os métodos de extensão não têm acesso aos membros privados e protegidos do tipo que estão a estender.
- Permitem adicionar funcionalidades a tipos existentes sem modificar o seu código fonte ou usar herança.
Exemplo de criação e uso:
-
Definição de uma classe estática e um método de extensão:
public static class StringExtensions // Classe estática { public static string ToTitleCase(this string input) // Método de extensão para o tipo string { if (string.IsNullOrEmpty(input)) { return input; } // Lógica simples para converter para Title Case return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower()); } } -
Uso do método de extensão:
string myString = "hello world"; string titleCaseString = myString.ToTitleCase(); // Chamada como se fosse um método normal de string // titleCaseString agora contém "Hello World"