2010-10-14 6 views

Répondre

7

PropertyInfo, etc MethodBase ont chacun une propriété Attributes qui a cette information - mais il n'y a rien dans MemberInfo, parce que chaque type de membre a son propre type d'attributs ENUM. Hideous comme il est, je pense que vous pouvez besoin de traiter chaque sous-classe de MemberInfo séparément :(Vous pouvez probablement passer sur MemberInfo.MemberType puis jeter, qui sera légèrement plus agréable que beaucoup de as/test pour NULL branches, mais il est toujours pas idéal :(

if (member.MemberType == MemberTypes.Property) 
{ 
    var property = (PropertyInfo) member; 
    ... 
} 
+0

Ah, je vois. Je vois aussi que PropertyInfo ne pas PropertyAttribues pour indiquer son accessability. Je dois obtenir les méthodes accesseurs et aller avec ceux-ci. Merci pour votre explication. – obiwanjacobi

+1

@obiwanjacobi: Probablement parce que vous pouvez avoir une accessibilité différente pour le get et le set –

+0

Comment pouvez-vous obtenir Propertyinfo de MemberType? re n'est pas cast. –