TypeBuilder.MakeGenericType(Type[]) Methode

Definitie

Vervangt de elementen van een matrix met typen voor de typeparameters van de huidige algemene typedefinitie en retourneert het resulterende samengestelde type.

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

Parameters

typeArguments
Type[]

Een matrix met typen die moeten worden vervangen door de typeparameters van de huidige algemene typedefinitie.

Retouren

Een Type vertegenwoordiging van het samengestelde type dat wordt gevormd door de elementen van typeArguments de typeparameters van het huidige algemene type te vervangen.

Uitzonderingen

Het huidige type vertegenwoordigt niet de definitie van een algemeen type. Dat wil gezegd, IsGenericTypeDefinition retourneert false.

typeArguments is null.

– of –

Elk element van typeArguments is null.

De Module eigenschap van een element van typeArguments is null.

– of –

De Assembly eigenschap van de module van een element van typeArguments is null.

Opmerkingen

Gebruik deze methode wanneer uw verzonden code een type vereist dat is samengesteld op basis van de huidige algemene typedefinitie. Het is niet nodig om de CreateType methode aan te roepen voordat u de MakeGenericType methode aanroept op een TypeBuilder methode die een algemene typedefinitie vertegenwoordigt. Als de huidige TypeBuilder niet de definitie van een algemeen type vertegenwoordigt, wordt er een InvalidOperationException gegenereerd.

Het object dat door deze methode wordt geretourneerd, fungeert als tijdelijke aanduiding voor een samengesteld algemeen type in uw verzonden code. Het is een exemplaar van een klasse die is afgeleid van Type die beperkte mogelijkheden heeft. In het bijzonder:

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)

Van toepassing op