Partager via


TypeBuilder.MakeGenericType(Type[]) Méthode

Définition

Substitue les éléments d’un tableau de types aux paramètres de type de la définition du type générique actuel et retourne le type construit résultant.

public:
 override Type ^ MakeGenericType(... cli::array <Type ^> ^ typeArguments);
public override Type MakeGenericType (params Type[] typeArguments);
override this.MakeGenericType : Type[] -> Type
Public Overrides Function MakeGenericType (ParamArray typeArguments As Type()) As Type

Paramètres

typeArguments
Type[]

Tableau de types à substituer aux paramètres de type de la définition du type générique actuel.

Retours

Type représentant le type construit formé en substituant les éléments de typeArguments pour les paramètres de type du type générique actuel.

Exceptions

Le type actuel ne représente pas la définition d’un type générique. Autrement dit, IsGenericTypeDefinition retourne false.

typeArguments a la valeur null.

-ou-

Tout élément de typeArguments est null.

La propriété Module de n’importe quel élément de typeArguments est null.

- ou -

La propriété Assembly du module de n’importe quel élément de typeArguments est null.

Remarques

Utilisez cette méthode lorsque votre code émis nécessite un type construit à partir de la définition de type générique actuelle. Il n’est pas nécessaire d’appeler la CreateType méthode avant d’appeler la MakeGenericType méthode sur un TypeBuilder qui représente une définition de type générique. Si le actuel TypeBuilder ne représente pas la définition d’un type générique, une InvalidOperationException est levée.

L’objet retourné par cette méthode fonctionne comme un espace réservé pour un type générique construit dans votre code émis. Il s’agit d’un instance d’une classe dérivée de Type qui a des fonctionnalités limitées. En particulier :

Type^ t1 = tbldr->MakeGenericType(String::typeid);
Type^ t2 = tbldr->MakeGenericType(String::typeid);
bool result = t1->Equals(t2);
Type t1 = tbldr.MakeGenericType(typeof(string));
Type t2 = tbldr.MakeGenericType(typeof(string));
bool result = t1.Equals(t2);
Dim t1 As Type = tbldr.MakeGenericType(GetType(String))
Dim t2 As Type = tbldr.MakeGenericType(GetType(String))
Dim result As Boolean = t1.Equals(t2)

S’applique à