Maison > développement back-end > C++ > Comment récupérer le nom et la valeur de l'attribut pour les propriétés à l'aide de la réflexion .net?

Comment récupérer le nom et la valeur de l'attribut pour les propriétés à l'aide de la réflexion .net?

Susan Sarandon
Libérer: 2025-01-29 07:48:08
original
809 Les gens l'ont consulté

How to Retrieve Attribute Name and Value for Properties using .NET Reflection?

<.> La technique de l'utilisation de la réflexion .NET pour obtenir le nom et la valeur de l'attribut

Cet article explique comment utiliser le mécanisme de réflexion .NET pour extraire la paire de valeurs de nom. Nous prenons un cours appelé comme exemple.

Question: Book Étant donné un type, comment utiliser la réflexion pour obtenir le nom caractéristique de chaque attribut et sa valeur associée? Name Author Solution:

public class Book
{
    [Author("AuthorName")]
    public string Name { get; private set; }
}
Copier après la connexion

Utilisez les caractéristiques de l'attribut d'accès à réflexion, veuillez suivre les étapes ci-dessous:

Utiliser pour obtenir un tableau d'instance

, qui représente toutes les propriétés de ce type. a traversé chaque

et utilisez

pour récupérer le tableau de caractéristique personnalisé appliqué à l'attribut.

    Filtrez les caractéristiques de retour pour identifier les caractéristiques du type requise (par exemple,
  1. ici). typeof(Book).GetProperties() PropertyInfo Obtenez le nom d'attribut de l'instance et obtenez la valeur caractéristique des caractéristiques reconnues.
  2. PropertyInfo Les exemples suivants réalisent la création d'un dictionnaire, qui mappe le nom du nom d'attribut à son nom de l'auteur associé: GetCustomAttributes()
  3. En utilisant des réflexes, nous pouvons vérifier dynamiquement les attributs et extraire des données caractéristiques personnalisées, afin de comprendre profondément les métadonnées associées au code. AuthorAttribute

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal