Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Type.GetGenericTypeDefinition méthode ()

 

Date de publication : novembre 2016

Retourne un objet Type qui représente une définition de type générique à partir de laquelle le type générique actuel peut être construit.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

abstract GetGenericTypeDefinition : unit -> Type
override GetGenericTypeDefinition : unit -> Type

Valeur de retour

Type: System.Type

Objet Type représentant un type générique à partir duquel le type actuel peut être construit.

Exception Condition
InvalidOperationException

Le type actuel n’est pas un type générique. Autrement dit, IsGenericType retourne false.

NotSupportedException

La méthode appelée n’est pas prise en charge dans la classe de base. Les classes dérivées doivent fournir une implémentation.

Une définition de type générique est un modèle à partir de laquelle d’autres types peuvent être construits. Par exemple, à partir de la définition de type générique G<T> (exprimée en syntaxe c# ; G(Of T) en Visual Basic ou generic <typename T> ref class G en C++) vous pouvez construire et instancier le type G<int> (G(Of Integer) en Visual Basic). Étant donné un Type objet représentant ce type construit, le GetGenericTypeDefinition méthode retourne la définition de type générique.

Si deux types construits sont créés à partir de la même définition de type générique, à l’aide de mêmes arguments de type, le GetGenericTypeDefinition méthode retourne la même Type objet pour les deux types.

Si vous appelez le GetGenericTypeDefinition méthode sur un Type objet qui représente déjà une définition de type générique, elle retourne actuel Type.

System_CAPS_importantImportant

Un tableau de types génériques n’est pas lui-même générique. Dans le code c# A<int>[] v; ou le code Visual Basic Dim v() As A(Of Integer), le type de variable v n’est pas générique. Utilisez IsGenericType pour déterminer si un type est générique avant d’appeler GetGenericTypeDefinition.

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

L’exemple de code suivant crée une instance d’un type construit à l’aide de création d’instance ordinaire, puis utilise le GetType et GetGenericTypeDefinition méthodes pour récupérer le type construit et la définition de type générique. Cet exemple utilise le type générique Dictionary<'TKey, 'TValue> type ; le type construit représente un Dictionary<'TKey, 'TValue> de Test objets avec des clés de type chaîne.

Aucun exemple de code n'est actuellement disponible ou ce langage n'est pas pris en charge.

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 2.0
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: