Share via


TypeBuilder.MakeGenericType(Type[]) Yöntem

Tanım

Geçerli genel tür tanımının tür parametreleri için bir tür dizisinin öğelerinin yerini alır ve sonuçta elde edilen türü döndürür.

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

Parametreler

typeArguments
Type[]

Geçerli genel tür tanımının tür parametreleriyle değiştirilecek tür dizisi.

Döndürülenler

Type Geçerli genel türün tür parametreleri için öğelerinin typeArguments yerini alarak oluşturulan türü temsil eden.

Özel durumlar

Geçerli tür, genel bir türün tanımını temsil etmiyor. Yani döndürür IsGenericTypeDefinitionfalse.

typeArguments, null değeridir.

-veya-

öğesinin typeArguments herhangi bir öğesi şeklindedir null.

Module herhangi bir öğesinin typeArguments özelliği şeklindedirnull.

-veya-

Assembly herhangi bir öğesinin typeArguments modülünün özelliği şeklindedirnull.

Açıklamalar

Yayılan kodunuz geçerli genel tür tanımından bir tür gerektiriyorsa bu yöntemi kullanın. Genel tür tanımını temsil eden bir TypeBuilder üzerinde yöntemini çağırmadan önce yöntemini çağırmak MakeGenericType gerekmezCreateType. Geçerli TypeBuilder , genel bir türün tanımını temsil etmiyorsa, bir InvalidOperationException oluşturulur.

Bu yöntem tarafından döndürülen nesne, yayılan kodunuzdaki bir genel tür için yer tutucu olarak çalışır. Bu, sınırlı özelliklere sahip olan öğesinden Type türetilmiş bir sınıfın örneğidir. Özellikle:

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)

Şunlara uygulanır