L'expression nameof en C#

Muhammad Maisam Abbas 16 février 2024
L'expression nameof en C#

Ce didacticiel abordera les utilisations de l’expression nameof en C#.

L’expression nameof en C#

L’expression nameof obtient le nom d’une variable, d’un type de données, d’un champ ou d’un membre en C#. L’expression nameof prend un artefact comme entrée et renvoie le nom de cet artefact particulier au format chaîne. Il est illustré dans l’exemple de code ci-dessous.

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

Production:

number Int32 nameof_operator

Nous avons imprimé le nom d’une variable, un type de données et un espace de noms avec l’expression nameof en C#. L’expression nameof est évaluée pendant la compilation et n’affecte pas la vitesse de traitement pendant l’exécution. L’utilisation principale de l’expression nameof est dans l’argument vérifiant ArgumentException et tout ce qui y est lié. Par exemple, si nous avons une variable nommée data et que nous affichons un message disant que la variable data n’est pas initialisée si elle est nulle. Cela fonctionnera très bien dans un programme conventionnel, mais si nous changeons le nom de la variable data en variable input, nous devons également changer le message de sortie. Ce scénario peut être géré avec élégance avec une seule expression nameof, comme le montre l’exemple de codage ci-dessous.

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

Maintenant, nous n’avons plus à nous soucier de changer beaucoup de code pour renommer notre variable data en autre chose.

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

Article connexe - Csharp Keyword