Junior — Middle
Pode explicar o que se entende por método de extensão na programação?
sobes.tech IA
Resposta da IA
O método de extensão em C# é uma forma de adicionar um novo método a um tipo existente sem alterar o código fonte desse tipo e sem criar um novo herdeiro. Esses métodos são declarados como estáticos numa classe estática, e o primeiro parâmetro do método é marcado com a palavra-chave this, indicando o tipo ao qual o método é adicionado.
Isto é útil quando se deseja expandir a funcionalidade de classes de bibliotecas às quais não se tem acesso para modificar.
Exemplo de método de extensão:
public static class StringExtensions
{
public static bool IsNullOrEmpty(this string str)
{
return string.IsNullOrEmpty(str);
}
}
// Uso:
string s = null;
bool result = s.IsNullOrEmpty();
Aqui, IsNullOrEmpty parece um método de instância de string, embora na verdade seja um método de extensão estático.