Utilisation de reflection pour affichage de valeurs

Description

Prenons un cas simple : une liste d'objets contenant chacun plusieurs valeurs (accessibles par des propriétés) que l'on veut afficher dans un ListView (pour cet exemple j'ai pris la classe FileInfo pour afficher les infos sur les fichiers d'un répertoire)

1ère solution :
On commence par ajouter bien gentiment toutes les colonnes au ListView (via le concepteur graphique ou direct en code peu importe)
Quand on a quelque chose comme 22 valeurs a afficher par item, ça fait 22 colonnes, qu'en plus d'ajouter il faudra "remplir", ça promet d'être un peu long

2ème solution : Utiliser la Reflection
L'ajout des colonnes et des valeurs se fait en quelques lignes (du moins beaucoup moins qu'avec la solution 1) par l'utilisation des méthodes System.Type.GetProperties(...) et System.Reflection.PropertyInfo.GetValue(...)

voir le zip pour l'utilisation

Conclusion :


Pages de la doc qu'il peut être interressant de visiter pour approfondir :
Classe Type : http://msdn.microsoft.com/en-us/library/system.type.aspx
NamespaceSystem.Reflection : http://msdn.microsoft.com/en-us/library/system.reflection.aspx

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.