TypeBuilder.MakeGenericType(Type[]) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.
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:
Als u methoden, velden en constructors voor deze samengestelde algemene typen wilt ophalen, gebruikt u de overbelasting GetField(Type, FieldInfo)GetConstructor(Type, ConstructorInfo) van en GetMethod(Type, MethodInfo)de methode.
Twee exemplaren die hetzelfde samengestelde type vertegenwoordigen, vergelijken elkaar niet als gelijk. In de volgende code
t1.Equals(t2)wordt bijvoorbeeld het volgende geretourneerdfalse:
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)