Maison >développement back-end >C++ >Comment puis-je obtenir efficacement le nom d'une variable en C# ?
Détermination des noms de variables avec réflexion
Identifier les noms de variables par réflexion peut être une tâche complexe. Bien que le code IL manque de noms de variables explicites, il existe des méthodes alternatives pour les récupérer.
Approche via les arbres d'expression
Une approche consiste à utiliser des arbres d'expression. En promouvant les variables en fermetures, il est possible d'obtenir leurs noms via des corps d'expression :
static string GetVariableName<T>(Expression<Func<T>> expr) { var body = (MemberExpression)expr.Body; return body.Member.Name; }
Utilisation :
static void Main() { var someVar = 3; Console.Write(GetVariableName(() => someVar)); }
Inconvénients des arbres d'expression
Cependant, cette approche est plutôt lente et doit être évitée dans les scénarios gourmands en performances. Cela implique la création de plusieurs objets, une pression GC et une réflexion approfondie.
Nom du mot-clé (C# 6.0 et supérieur)
Avec l'introduction du mot-clé nameof en C# 6.0, une méthode plus efficace a émergé :
static void Main() { var someVar = 3; Console.Write(nameof(someVar)); }
Cette approche est pratique et entraîne des performances minimales frais généraux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!