Génériques et réflexion (Guide de programmation C#)

Mise à jour : novembre 2007

Étant donné que le Common Language Runtime (CLR) a accès aux informations de type générique au moment de l'exécution, vous pouvez utiliser la réflexion pour obtenir des informations sur les types génériques de la même manière que sur les types non génériques. Pour plus d'informations, consultez Génériques dans le runtime (Guide de programmation C#).

Dans le .NET Framework 2.0, plusieurs nouveaux membres sont ajoutés à la classe Type pour activer des informations d'exécution pour les types génériques. Pour plus d'informations sur l'utilisation de ces méthodes et propriétés, consultez la documentation sur ces classes. L'espace de noms System.Reflection.Emit contient également des nouveaux membres qui prennent en charge des génériques. Reportez-vous à Comment : définir un type générique avec émission de réflexion.

Pour obtenir la liste des conditions invariables des termes utilisés dans une réflexion générique, consultez les notes sur la propriété IsGenericType.

Nom de membre System.Type

Description

IsGenericType

Retourne true si un type est générique.

GetGenericArguments

Retourne un tableau d'objets Type qui représentent les arguments de type fournis pour un type construit, ou les paramètres de type d'une définition de type générique.

GetGenericTypeDefinition

Retourne la définition de type générique sous-jacente pour le type construit en cours.

GetGenericParameterConstraints

Retourne un tableau d'objets Type qui représentent les contraintes sur le paramètre de type générique actuel.

ContainsGenericParameters

Retourne true si le type ou l'un de ses types englobants ou de ses méthodes englobantes contient des paramètres de type pour lesquels les types spécifiques n'ont pas été fournis.

GenericParameterAttributes

Obtient une combinaison d'indicateurs GenericParameterAttributes qui décrivent les contraintes spéciales du paramètre de type générique actuel.

GenericParameterPosition

Pour un objet Type qui représente un paramètre de type, obtient la position du paramètre de type dans la liste des paramètres de type de la définition du type générique ou de la méthode générique qui a déclaré le paramètre de type.

IsGenericParameter

Obtient une valeur qui indique si le Type actuel représente un paramètre de type d'une définition de type ou de méthode générique.

IsGenericTypeDefinition

Obtient une valeur qui indique si le Type actuel représente une définition de type générique, à partir de laquelle d'autres types génériques peuvent être construits. Retourne true si le type représente la définition d'un type générique.

DeclaringMethod

Retourne la méthode générique qui a défini le paramètre de type générique actuel, ou null si le paramètre de type n'a pas été défini par une méthode générique.

MakeGenericType

Substitue les éléments d'un tableau de types aux paramètres de type de la définition de type générique actuelle et retourne un objet Type représentant le type construit résultant.

De plus, les nouveaux membres sont ajoutés à la classe MethodInfo pour activer des informations liées à l'exécution pour les méthodes génériques. Consultez les remarques concernant la propriété IsGenericMethod pour obtenir une liste des conditions invariables pour les termes utilisés pour réfléchir aux méthodes génériques.

Nom de membre System.Reflection.MemberInfo

Description

IsGenericMethod

Retourne true si une méthode est générique.

GetGenericArguments

Retourne un tableau d'objets Type qui représentent les arguments de type d'une méthode générique construite ou les paramètres de type d'une définition de méthode générique.

GetGenericMethodDefinition

Retourne la définition de méthode générique sous-jacente pour la méthode construite actuelle.

ContainsGenericParameters

Retourne true si la méthode ou l'un de ses types englobants contient l'un des paramètres de type pour lesquels les types spécifiques n'ont pas été fournis.

IsGenericMethodDefinition

Retourne true si le MethodInfo actuel représente la définition d'une méthode générique.

MakeGenericMethod

Substitue les éléments d'un tableau de types aux paramètres de type de la définition de méthode générique actuelle et retourne un objet MethodInfo représentant la méthode construite résultante.

Voir aussi

Concepts

Guide de programmation C#

Vue d'ensemble de la réflexion et des génériques

Référence

Génériques (Guide de programmation C#)

Autres ressources

Génériques dans le .NET Framework