C# · Intermediário · Inglês · Técnico
required
Modificador do C# 11 que obriga quem cria o objeto a definir o membro no object initializer ou no construtor; se faltar, o código não compila.
Onde usar
Garante DTOs e opções completos sem construtor gigante, e combina bem com init. Um construtor marcado com SetsRequiredMembers satisfaz a exigência por conta própria.
Em código
var u = new Usuario { Email = "a@b.com" };
// new Usuario(); // erro CS9035
class Usuario {
public required string Email { get; init; }
}Exemplos
Mark the email as required so nobody forgets it.
Marque o email como required para ninguém esquecer.
The build fails if a required member isn't set.
O build falha se um required member não for definido.
Cuidado
Não é validação de valor: required exige atribuir, mas aceita string vazia ou null explícito, então ainda é preciso validar o conteúdo.
Sinônimos
required member