ExpertiDict

C# · Intermediário · Inglês · Técnico

primary constructor

/ˈpraɪˌmɛri kənˈstrʌktɚ/substantivo

Parâmetros declarados direto no cabeçalho da classe ou struct, como class Servico(IRepo repo), visíveis em todo o corpo do tipo (C# 12).

Onde usar

Muito usado para injeção de dependência em serviços e controllers, evitando campos e atribuições repetitivas. Em classes, os parâmetros não viram propriedades; em records, viram.

Em código

class Servico(IRepo repo, string prefixo) {
  public void Salvar(string s) {
    repo.Gravar(prefixo + s);   // captura
  }
}
interface IRepo { void Gravar(string s); }

Exemplos

Primary constructors cut the boilerplate in our services.

Primary constructors cortam o boilerplate dos nossos serviços.

The parameter is captured, not exposed as a property.

O parâmetro é capturado, não exposto como propriedade.

Cuidado

Não confunda com record posicional: o parâmetro capturado de uma classe é estado interno e mutável, e pode ser reatribuído por engano.

Sinônimos

construtor primário

Veja também

Todos os termos de C#