ExpertiDict

C# · Avançado · Inglês · Técnico

extension members

/ɪkˈstɛnʃən ˈmɛmbɚz/substantivo

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   // true

Exemplos

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

Veja também

Todos os termos de C#