Donc ce que j'ai droit est maintenant quelque chose comme ceci:Comment obtenez-vous toutes les propriétés d'une classe et de ses classes de base (dans la hiérarchie) avec Reflection? (C#)
PropertyInfo[] info = obj.GetType().GetProperties(BindingFlags.Public);
où obj
est un objet.
Le problème est que certaines des propriétés que je veux ne sont pas dans obj.GetType()
ils sont dans l'une des classes de base plus haut. Si j'arrête le débogueur et regarde obj, je dois passer en revue quelques entrées "de base" pour voir les propriétés que je veux obtenir. Existe-t-il un indicateur de liaison que je peux définir pour qu'il me les renvoie ou dois-je creuser récursivement dans la hiérarchie Type.BaseType
et faire GetProperties
sur chacun d'entre eux?
Je marque ceci comme la réponse parce que bien que Jay travaille et m'obtienne ce que je veux, ceci explique pourquoi cela fonctionne. J'ai simplement supposé que si ni Instance ni Static n'étaient spécifiés, les deux seraient par défaut, alors qu'en fait, il ne retournait pas. – Davy8
Il n'y avait pas de propriétés de niveau supérieur dans l'objet que je regardais, donc j'ai supposé qu'il essayait simplement de récupérer les plus hauts quand il ne renvoyait rien, alors qu'en fait il ne renvoyait rien parce qu'il essayait d'obtenir des propriétés qui n'étaient ni Statique ni instance. – Davy8