Sommaire

Introspection d’une classe C#

Grâce à la réflexion, nous allons pouvoir récupérer dynamiquement depuis un objet :

  • le nom de la classe qui est à son origine,

  • si cette classe est d’accès public, privé, etc.,

  • quelle est sa classe "parent",

  • quelles interfaces sont implémentées par cette classe,

  • son ou ses constructeurs,

  • ses méthodes,

  • ses propriétés,

  • des infos sur son package d’appartenance et ses commentaires,

  • etc.

On parle ici de métadonnées, c’est-à-dire d’informations décrivant un type d’objet.

Les environnements de développement utilisent la réflexion pour vous assister dans l’écriture de vos programmes.

Avant de mettre à profit cette fonctionnalité, jetons un œil sur le contenu d’une "assembly".

L’assembly est l’unité minimale de déploiement du monde .NET. Elle contient toujours un descriptif aussi appelé "manifest" ou encore "métadonnées" dans lequel se trouvent :

  • le nom, la version de l’assembly et d’autres informations générales comme le copyright ou le nom de l’éditeur,

  • la liste de tous les fichiers contenus dans l’assembly,

  • la liste des "dépendances" nécessaires au bon fonctionnement du code embarqué. Chaque dépendance s’accompagne d’un numéro de version. Le framework .NET ...