La expresión nameof en C#

Muhammad Maisam Abbas 16 febrero 2024
La expresión nameof en C#

Este tutorial discutirá los usos de la expresión nameof en C#.

La expresión nameof en C#

La expresión nameof obtiene el nombre de una variable, un tipo de datos, un campo o un miembro en C#. La expresión nameof toma un artefacto como entrada y devuelve el nombre de ese artefacto en particular en formato de cadena. Se ilustra en el ejemplo de código a continuación.

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));
    }
  }
}

Producción :

number
Int32
nameof_operator

Imprimimos el nombre de una variable, un tipo de datos y un espacio de nombres con la expresión nameof en C#. La expresión nameof se evalúa durante el tiempo de compilación y no afecta la velocidad de procesamiento durante el tiempo de ejecución. El uso principal de la expresión nameof es en la comprobación de argumentos en busca de ArgumentException y cualquier cosa relacionada con ella. Por ejemplo, si tenemos una variable llamada data y estamos mostrando un mensaje que dice que la variable data no se inicializa si es nula. Funcionará bien en un programa convencional, pero si cambiamos el nombre de la variable data a la variable input, también tenemos que cambiar el mensaje de salida. Este escenario puede manejarse elegantemente con una sola expresión nameof, como se muestra en el ejemplo de codificación a continuación.

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

Ahora no tenemos que preocuparnos por cambiar mucho código para cambiar el nombre de nuestra variable data a otra cosa.

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

Artículo relacionado - Csharp Keyword