I ont une grande classe avec de nombreux sous-classes imbriquées de différents types comme suit:Reflétant types de propriétés spécifiques de sous-classes
class BigFooClass
{
// Classes
Foo InnerFoo {get; set;}
Bar InnerBar {get; set;}
Oof InnerOof {get; set;}
Rab InnerRab {get; set;}
// Simple Properties
Decimal OuterDecimal {get; set;}
Long OuterLong {get; set;}
{
Chacune de ces classes internes sont définies comme suit:
class Foo
{
Decimal DecimalProp {get; set;}
Long LongProp {get; set;}
}
class Bar
{
Decimal Decimal Prop {get; set;}
Long LongProp {get; set;}
} etc...
Je veux pour obtenir une liste de toutes les propriétés décimales ou longues avec leurs types de conteneur comme suit:
BigFooClass.OuterDecimal est le type de Décimal
BigFooClass.OuterLong est le type de Long
Foo.OuterDecimal est le type de décimal
Foo.OuterLong est le type de Long
Bar.OuterDecimal est le type de décimal
Bar.OuterLong est le type de Long
Je peux arriver au premier niveau mais ne peux pas trouver comment refléter le type d'un PropertyInfo, ce qui n'est peut-être pas la bonne façon de le faire.
Quelqu'un peut-il me montrer comment le faire s'il vous plaît?
Brian
Merci Reed. En fait, l'information manquante pour moi était l'utilisation de PropertyType pour obtenir le type de la classe de niveau inférieur pour faire l'itération sur les propriétés. J'avais essayé d'obtenir les propriétés de PropertyInfo! – Redeemed1
@ Redeemed1: Heureux qui a aidé. Lorsque vous utilisez la réflexion, vous devez presque toujours travailler à partir d'un System.Type. –