C# · Essencial · Inglês · Técnico
nameof
Operador que devolve o nome de uma variável, tipo ou membro como string em tempo de compilação. Evita strings mágicas que quebram silenciosamente ao renomear.
Onde usar
Aparece em exceções de argumento, como throw new ArgumentNullException(nameof(cliente)), e em notificações de mudança de propriedade. Ao renomear o parâmetro, o texto acompanha o código.
Em código
void Cadastrar(string? cliente)
{
if (cliente is null)
throw new ArgumentNullException(
nameof(cliente));
}Exemplos
Use nameof instead of a magic string.
Use nameof em vez de uma string mágica.
The exception message uses nameof(customer).
A mensagem da exceção usa nameof(customer).
Cuidado
Não confunda com reflection: o nameof é resolvido pelo compilador e não consulta nada em runtime.