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