C# · Intermediário · Inglês · Técnico
primary constructor
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