Maison > développement back-end > C++ > Comment puis-je récupérer les propriétés d'une classe en utilisant la réflexion?

Comment puis-je récupérer les propriétés d'une classe en utilisant la réflexion?

Barbara Streisand
Libérer: 2025-02-01 07:56:08
original
165 Les gens l'ont consulté

How Can I Retrieve a Class's Properties Using Reflection?

Utilisez l'attribut de classe d'accès à réflexion

Question:

Comment obtenir une liste de tous les attributs d'une classe?

Réponse: La réflexion fournit une solution à ce problème. Pour un exemple donné, vous pouvez utiliser le code suivant:

Pour accéder aux attributs associés au type, veuillez utiliser:

obj.GetType().GetProperties();
Copier après la connexion
Considérez l'exemple suivant Catégorie:

typeof(Foo).GetProperties();
Copier après la connexion
pour récupérer et afficher la valeur d'attribut de l'objet FOO nouvellement instantané:

class Foo {
    public int A {get;set;}
    public string B {get;set;}
}
Copier après la connexion
<注意> Autres précautions:

Foo foo = new Foo {A = 1, B = "abc"};
foreach(var prop in foo.GetType().GetProperties()) {
    Console.WriteLine("{0}={1}", prop.Name, prop.GetValue(foo, null));
}
Copier après la connexion

Pour récupérer la valeur d'attribut statique, veuillez passer null comme premier paramètre à getValue.

  • Pour inclure les attributs non publiques, veuillez utiliser un logo de liaison granulaire plus mince, par exemple:

  • Cela récupérera tous les attributs d'instance publique et privé.

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