nameof Expressão em C#

Muhammad Maisam Abbas 16 fevereiro 2024
nameof Expressão em C#

Este tutorial discutirá os usos da expressão nameof em C#.

a expressão nameof em C#

A nameof expressão obtém o nome de uma variável, um tipo de dados, um campo ou um membro em C#. A expressão nameof recebe um artefato como entrada e retorna o nome desse artefato específico em formato de string. Isso é ilustrado no exemplo de código abaixo.

using System;

namespace nameof_operator {
  class Program {
    static void Main(string[] args) {
      int number = 15;
      Console.WriteLine(nameof(number));
      Console.WriteLine(nameof(System.Int32));
      Console.WriteLine(nameof(nameof_operator));
    }
  }
}

Resultado:

number Int32 nameof_operator

Imprimimos o nome de uma variável, um tipo de dados e um namespace com a expressão nameof em C#. A expressão nameof é avaliada durante o tempo de compilação e não afeta a velocidade de processamento durante o tempo de execução. O principal uso da expressão nameof é na verificação do argumento por ArgumentException e qualquer coisa relacionada a ele. Por exemplo, se tivermos uma variável chamada dados e estivermos exibindo uma mensagem dizendo que a variável dados não foi inicializada se for nula. Funcionará bem em um programa convencional, mas se mudarmos o nome da variável data para a variável input, também teremos que mudar a mensagem de saída. Este cenário pode ser tratado elegantemente com apenas uma única expressão nameof, conforme mostrado no exemplo de codificação abaixo.

public string getData(int data) {
  if (data == null) {
    throw new ArgumentNullException(nameof(data));
  }
}

Agora não precisamos nos preocupar em mudar muito código para renomear nossa variável data para outra coisa.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artigo relacionado - Csharp Keyword