Réflexion (Guide de programmation C#)

La réflexion fournit des objets (de type Type) qui encapsulent les assemblys, les modules et les types. Vous pouvez utiliser la réflexion pour créer dynamiquement une instance d'un type, lier le type à un objet existant ou l'obtenir à partir d'un objet existant et appeler ses méthodes ou accéder à ses champs et propriétés. Si vous utilisez des attributs dans votre code, la réflexion vous permet d'y accéder. Pour plus d'informations, consultez Attributs.

Voici un exemple simple de réflexion utilisant la méthode statique GetType- héritée par tous les types de la classe de base Object - pour obtenir le type d'une variable :

// Using GetType to obtain type information:
int i = 42;
System.Type type = i.GetType();
System.Console.WriteLine(type);

Le résultat est le suivant :

System.Int32

Dans cet exemple, la réflexion est utilisée pour obtenir le nom complet d'un assembly chargé :

// Using Reflection to get information from an Assembly:
System.Reflection.Assembly o = System.Reflection.Assembly.Load("mscorlib.dll");
System.Console.WriteLine(o.GetName());

Le résultat est le suivant :

mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

Vue d'ensemble de la réflexion

La réflexion est utile dans les situations suivantes :

Rubriques connexes

Pour plus d'informations

Spécifications du langage C#

Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.

  • 1.12 Attributs

  • 7.5.11 Opérateur typeof

Voir aussi

Référence

Domaines d'application (Guide de programmation C#)

Concepts

Guide de programmation C#
Assemblys et le Global Assembly Cache (Guide de programmation C#)