C# · Avançado · Inglês · Técnico
extension members
Recurso do C# 14 que declara propriedades, operadores e métodos de extensão em blocos extension(...) dentro de uma classe estática, além dos métodos de extensão tradicionais.
Onde usar
Permite criar propriedades de extensão, como texto.IsVazia, o que era impossível com métodos de extensão clássicos. Bibliotecas migram aos poucos, e a sintaxe antiga continua válida.
Em código
static class StringExt {
extension(string s) {
public bool IsVazia => s.Length == 0;
}
}
// uso: "".IsVazia // trueExemplos
Extension members finally give us extension properties.
Os extension members finalmente nos dão propriedades de extensão.
Wrap the extension block in a static class.
Coloque o bloco extension dentro de uma classe estática.
Cuidado
Continuam sendo extensões: não acessam membros privados do tipo, e um membro real com o mesmo nome sempre vence.
Sinônimos
extension block, propriedade de extensão