Maison >développement back-end >C++ >Comment puis-je obtenir le nom d'une propriété sous forme de chaîne en C# ?

Comment puis-je obtenir le nom d'une propriété sous forme de chaîne en C# ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-12 07:58:42303parcourir

How Can I Get a Property's Name as a String in C#?

Obtenir la chaîne du nom d'attribut

En C# 6.0 et versions ultérieures, vous pouvez utiliser l'expression nameof pour obtenir facilement le nom de la propriété sous forme de chaîne. Cette expression correspond au nom de la propriété au moment de la compilation.

Exemple :

<code class="language-csharp">string propertyName = nameof(SomeClass.SomeProperty);</code>

Cette expression est évaluée à "SomeProperty" au moment de la compilation.

Remarque : nameof ne peut être utilisé que pour les attributs, pas pour les membres d'autres types.

Première version de C#

Dans les versions antérieures à C# 6.0, vous pouvez utiliser la méthode suivante :

<code class="language-csharp">public string GetPropertyName<T>(Expression<Func<T>> propertyLambda)
{
    var memberExpression = propertyLambda.Body as MemberExpression;

    if (memberExpression == null)
        throw new ArgumentException("表达式必须是属性lambda表达式。");

    return memberExpression.Member.Name;
}</code>

Cette méthode prend une expression lambda représentant un accesseur de propriété et renvoie le nom de la propriété.

Exemple :

<code class="language-csharp">string propertyName = GetPropertyName(() => SomeClass.SomeProperty);</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