Maison >développement back-end >C++ >Comment puis-je récupérer les noms de propriétés Type-Safe dans les anciennes versions de .NET sans le nom de l'opérateur ?

Comment puis-je récupérer les noms de propriétés Type-Safe dans les anciennes versions de .NET sans le nom de l'opérateur ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-31 11:57:11891parcourir

How Can I Retrieve Type-Safe Property Names in Older .NET Versions Without the nameof Operator?

Récupération de nom de propriété de type sécurisé sans opérateur nameof

L'opérateur nameof .NET Core permet une récupération facile des noms de propriété sous forme de chaînes, fournissant le type sécurité et lisibilité du code. Cependant, dans les versions antérieures de .NET, il n'y a pas de nom d'alternative intégré.

Solution de contournement C# 3.5

Dans .NET 3.5, une solution de contournement peut être obtenue en utilisant lambda expressions :

var propName = Nameof<SampleClass>.Property(e => e.Name);

Le nom de class définit une méthode Property qui accepte une expression lambda ciblant une propriété, par exemple e => e.Nom. La méthode extrait MemberExpression de l'expression lambda et renvoie le nom de la propriété.

L'extrait de code fourni illustre cette approche pour une propriété nommée "Name" dans SampleClass.

.NET Implémentation 2.0

L'implémentation de la fonctionnalité nameof dans .NET 2.0 n'est pas simple en raison des limitations de réflexion et expressions lambda. Cependant, cela est possible en utilisant une approche plus complexe impliquant la classe MemberInfo et ses capacités de réflexion.

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