TypeBuilder.MakeGenericType(Type[]) Methode

Definition

Ersetzt die Elemente eines Arrays von Typen für die Typparameter der aktuellen generischen Typdefinition und gibt den resultierenden konstruierten Typ zurück.

public:
 override Type ^ MakeGenericType(... cli::array <Type ^> ^ typeArguments);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("The native code for this instantiation might not be available at runtime.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met.")]
public override Type MakeGenericType(params Type[] typeArguments);
public override Type MakeGenericType(params Type[] typeArguments);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met.")]
public override Type MakeGenericType(params Type[] typeArguments);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("The native code for this instantiation might not be available at runtime.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met.")>]
override this.MakeGenericType : Type[] -> Type
override this.MakeGenericType : Type[] -> Type
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("If some of the generic arguments are annotated (either with DynamicallyAccessedMembersAttribute, or generic constraints), trimming can't validate that the requirements of those annotations are met.")>]
override this.MakeGenericType : Type[] -> Type
Public Overrides Function MakeGenericType (ParamArray typeArguments As Type()) As Type

Parameter

typeArguments
Type[]

Ein Array von Typen, die durch die Typparameter der aktuellen generischen Typdefinition ersetzt werden sollen.

Gibt zurück

A Type representing the constructed type formed by substituting the elements of typeArguments for the type parameters of the current generic type.

Attribute

Ausnahmen

Der aktuelle Typ stellt die Definition eines generischen Typs nicht dar. Das heißt, IsGenericTypeDefinition gibt zurück false.

typeArguments ist null.

-oder-

Jedes Element von typeArguments ist null.

Die Module Eigenschaft eines beliebigen Elements von typeArguments ist null.

-oder-

Die Assembly Eigenschaft des Moduls eines beliebigen Elements von typeArguments ist null.

Hinweise

Verwenden Sie diese Methode, wenn ihr ausgegebener Code einen Typ erfordert, der aus der aktuellen generischen Typdefinition erstellt wurde. Es ist nicht erforderlich, die CreateType Methode aufzurufen, bevor sie für eine MakeGenericType Methode aufgerufen wird, die TypeBuilder eine generische Typdefinition darstellt. Wenn der aktuelle Wert nicht die Definition eines generischen TypeBuilder Typs darstellt, wird ein InvalidOperationException Fehler ausgelöst.

Das von dieser Methode zurückgegebene Objekt fungiert als Platzhalter für einen konstruierten generischen Typ in Ihrem ausgegebenen Code. Es handelt sich um eine Instanz einer Klasse, die von Type einer eingeschränkten Funktionalität abgeleitet wurde. Dies gilt insbesondere für:

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)

Gilt für: