Sommaire

Bases de la réflexion en C#

1. La réflexion en informatique

Dans une logique orientée objet, on manipule en général des instances de classes. On travaille donc à propos des membres encapsulés dans l’instance. La première exception notable est bien sûr le recours aux membres ou aux méthodes statiques. Le propos de la réflexion est donc de s’intéresser aux métadonnées, c’est-à-dire à la définition de la classe elle-même. Par exemple, accéder à la collection des membres ou à celle des méthodes. On peut également, à condition que le langage soit réflexif, ce qui est le cas du C#, ajouter ou modifier la définition de la classe durant l’exécution : de façon dynamique en ajoutant temporairement une méthode par exemple.

La réflexion est donc la capacité à manipuler les éléments de définition eux-mêmes, c’est-à-dire les métadonnées. 

2. L’approche réflexive en C#

L’exemple le plus simple de code réflexif est de pouvoir accéder à la nature d’une variable que l’on manipule. Or, les différents types en C# offrent une méthode renvoyant le type utilisé ce qui constitue une première étape d’une approche réflexive.

int a = 2017;  
string s = "Ceci est une chaîne de caractères."; ...