Maison >développement back-end >C++ >Comment récupérer un nom de propriété sous forme de chaîne en C# ?
Accès aux noms de propriétés sous forme de chaînes en C#
En programmation C#, notamment lors de l'utilisation de la réflexion, il est fréquemment nécessaire d'obtenir le nom d'une propriété sous forme de chaîne. Cela s'avère inestimable pour des tâches telles que l'invocation de méthodes dynamiques ou la protection contre le renommage accidentel de propriétés.
Exploiter l'opérateur nameof
(C# 6.0 et versions ultérieures)
Depuis C# 6.0, l'opérateur nameof
propose une solution simple et efficace. L'expression nameof(SomeProperty)
renvoie directement la chaîne "SomeProperty" au moment de la compilation.
Une méthode de récupération de nom de propriété générique
Pour les versions de C# antérieures à 6.0, une méthode générique propose une solution de contournement :
<code class="language-csharp">public static string GetPropertyName<T>(Expression<Func<T>> propertyLambda) { var me = propertyLambda.Body as MemberExpression; if (me == null) { throw new ArgumentException("Invalid lambda expression"); } return me.Member.Name; }</code>
Cette méthode accepte une expression lambda référençant une propriété et renvoie son nom.
Application pratique
Voici comment utiliser la méthode GetPropertyName
:
<code class="language-csharp">// For a static property: string propertyName = GetPropertyName(() => SomeClass.SomeProperty); // For an instance property: string propertyName = GetPropertyName(() => someObject.SomeProperty);</code>
Résumé
Que vous utilisiez l'opérateur nameof
moderne ou la méthode GetPropertyName
, la récupération des noms de propriété sous forme de chaînes est simplifiée, améliorant ainsi la maintenabilité et la robustesse du code lors de la réflexion et de la refactorisation.
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!