ExpertiDict

C# · Essencial · Inglês · Técnico

nameof

/ˈneɪm ʌv/operador

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.

Veja também

Todos os termos de C#