Liste de propriétés

Résolu
xmox667 Messages postés 357 Date d'inscription jeudi 8 juin 2006 Statut Membre Dernière intervention 26 décembre 2011 - 24 août 2008 à 14:39
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 - 24 août 2008 à 21:39
Salut à tous,
J'aimerais pouvoir lister les propriétés publiques d'une classe en c#.
Comme le fait l'explorateur d'objets de visual studio.
J'ai déjà chercher sur le net mais pour l'instant j'ai rien trouvé.
Merci à tous.

3 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
24 août 2008 à 15:09
Salut,

tu peux faire ca par reflection :

Type

t
=
typeof
(
TaClasse
);

PropertyInfo
[]
props
=
t
.
GetProperties
();

Mx
MVP C# 
2
xmox667 Messages postés 357 Date d'inscription jeudi 8 juin 2006 Statut Membre Dernière intervention 26 décembre 2011 4
24 août 2008 à 16:16
Salut,
J'ai réussis a trouver ceci sur le net. Si ça peut en aider d'autres.

Pour analyser et modifier un object obj
1 - Récupérer le type de l'objet

Type type = obj.GetType();
 
2 - Pour avoir la liste de ses propriétés :

PropertyInfo []propz = type.GetProperties(...);
- Les options en paramètres dépendent de ce que tu veux :
(public/protégées, Instance/statiques, héritée ou déclarée, ...) Voir
la doc de .Net

- Pour la liste de méthodes, c'est pareil avec MethodInfo . Pour les champs FieldInfo.

 
3 - Pour récupérer une valeur : GetValue(...)
PropertyInfo prop = ...

object value = prop.GetValue(obj, null);
 
4 - Pour modifier une valeur : SetValue(...)
PropertyInfo prop = ...

prop.SetValue(obj, value, null);

A+
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
24 août 2008 à 21:39
En gros, c'est la réponse qui t'a été donnée par Mx

<hr />
-My Blog-
0
Rejoignez-nous