Maison >développement back-end >C++ >Comment puis-je obtenir le nom d'une variable ou d'un paramètre C# ?

Comment puis-je obtenir le nom d'une variable ou d'un paramètre C# ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-27 04:01:09575parcourir

How Can I Get the Name of a C# Variable or Parameter?

Obtenir les noms de variables et de paramètres en C#

En C#, accéder au nom d'une variable ou d'un paramètre est crucial pour divers scénarios, tels que la gestion des erreurs et la génération de code dynamique. Voyons comment y parvenir :

Solution avant C# 6.0 :

Avant C# 6.0, la solution pour obtenir les noms des membres consistait à utiliser la réflexion. Considérez la classe suivante, qui fournit une méthode générique pour récupérer les noms de membres :

<code class="language-csharp">public static class MemberInfoGetting
{
    public static string GetMemberName<T>(Expression<Func<T>> memberExpression)
    {
        MemberExpression expressionBody = (MemberExpression)memberExpression.Body;
        return expressionBody.Member.Name;
    }
}</code>

Pour utiliser cette méthode, vous transmettez une expression lambda qui fait référence à une variable ou un paramètre :

<code class="language-csharp">string testVariable = "value";
string nameOfTestVariable = MemberInfoGetting.GetMemberName(() => testVariable);</code>

Solutions C# 6.0 et supérieures :

En C# 6.0 et versions ultérieures, l'opérateur nameof fournit un moyen plus propre et plus efficace d'obtenir les noms des membres :

<code class="language-csharp">string testVariable = "value";
string nameOfTestVariable = nameof(testVariable);</code>

Cet opérateur peut être utilisé sur les paramètres, les variables et les propriétés :

<code class="language-csharp">public class TestClass
{
    public void TestMethod(string param1, string param2)
    {
        string nameOfParam1 = nameof(param1);
    }
}</code>

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn