Aracılığıyla paylaş


Marshal.CreateWrapperOfType Yöntem

Tanım

Aşırı Yüklemeler

CreateWrapperOfType(Object, Type)
Geçersiz.

Belirtilen COM nesnesini belirtilen türde bir nesneye sarmalar.

CreateWrapperOfType<T,TWrapper>(T)

Belirtilen COM nesnesini belirtilen türde bir nesneye sarmalar.

CreateWrapperOfType(Object, Type)

Kaynak:
Marshal.NoCom.cs
Kaynak:
Marshal.NoCom.cs
Kaynak:
Marshal.NoCom.cs

Dikkat

CreateWrapperOfType(Object, Type) may be unavailable in future releases. Instead, use CreateWrapperOfType<T,T2>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296519

Belirtilen COM nesnesini belirtilen türde bir nesneye sarmalar.

public:
 static System::Object ^ CreateWrapperOfType(System::Object ^ o, Type ^ t);
[System.Obsolete("CreateWrapperOfType(Object, Type) may be unavailable in future releases. Instead, use CreateWrapperOfType<T,T2>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296519")]
[System.Security.SecurityCritical]
public static object CreateWrapperOfType (object o, Type t);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static object? CreateWrapperOfType (object? o, Type t);
[System.Security.SecurityCritical]
public static object CreateWrapperOfType (object o, Type t);
public static object CreateWrapperOfType (object o, Type t);
public static object? CreateWrapperOfType (object? o, Type t);
[<System.Obsolete("CreateWrapperOfType(Object, Type) may be unavailable in future releases. Instead, use CreateWrapperOfType<T,T2>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296519")>]
[<System.Security.SecurityCritical>]
static member CreateWrapperOfType : obj * Type -> obj
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member CreateWrapperOfType : obj * Type -> obj
[<System.Security.SecurityCritical>]
static member CreateWrapperOfType : obj * Type -> obj
static member CreateWrapperOfType : obj * Type -> obj
Public Shared Function CreateWrapperOfType (o As Object, t As Type) As Object

Parametreler

o
Object

Sarmalanacak nesne.

t
Type

Oluşturulacak sarmalayıcı türü.

Döndürülenler

İstenen türün bir örneği olan yeni sarmalanan nesne.

Öznitelikler

Özel durumlar

t ' den __ComObjecttüretilmelidir.

-veya-

t bir Windows Çalışma Zamanı türüdür.

t parametresidirnull.

o tüm gerekli arabirimleri desteklemediğinden hedef türe dönüştürülemiyor.

Açıklamalar

CreateWrapperOfType genellikle temel __ComObject tür olan bir COM sınıf türünü başka bir COM sınıf türüne dönüştürür. parametresiyle otemsil edilen giriş COM nesnesi, Bir Çalışma Zamanı Çağrılabilen Sarmalayıcıdır (RCW).

t hem hem de o parametreleri, imzaları ile System.Runtime.InteropServices.ComImportAttributeilişkilendirilen sınıflar olmalıdır. Tlbimp.exe (Tür Kitaplığı İçeri Aktarıcısı) aracı, bir tür kitaplığını içeri aktardığında bu özniteliği sizin için uygular. RCW'yi kaynak kodunda el ile oluşturursanız, bu özniteliği ÖZGÜN coclass'ı temsil eden yönetilen imzaya uygulayarak COM kaynaklarını belirtmelisiniz.

Tlbimp.exe bir COM ortak sınıfını yönetilen sınıf ve arabirim olarak içeri aktarır. Coclass arabirimi özgün coclass ile aynı ada sahiptir ve yönetilen sınıfın "Sınıf" ile eklenmiş özgün coclass adı vardır. Örneğin, adlı MyCoclass bir coclass adlı bir coclass arabirimine ve adlı MyCoclassMyCoclassClassyönetilen bir sınıfa dönüşür. Arabirim t değil sınıf olması gerektiğinden, ortak sınıf arabirimini değil yönetilen sınıfı (MyCoclassClass) belirttiğinizden emin olun.

Not

Yeni bir RCW örneği özgün RCW tarafından kullanıma sunulan IUnknown işaretçisini sarmaladığı için giriş COM nesnesinin kimliğini kaybedersiniz.

Ayrıca bkz.

Şunlara uygulanır

CreateWrapperOfType<T,TWrapper>(T)

Kaynak:
Marshal.NoCom.cs
Kaynak:
Marshal.NoCom.cs
Kaynak:
Marshal.NoCom.cs

Belirtilen COM nesnesini belirtilen türde bir nesneye sarmalar.

public:
generic <typename T, typename TWrapper>
 static TWrapper CreateWrapperOfType(T o);
[System.Security.SecurityCritical]
public static TWrapper CreateWrapperOfType<T,TWrapper> (T o);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static TWrapper CreateWrapperOfType<T,TWrapper> (T? o);
public static TWrapper CreateWrapperOfType<T,TWrapper> (T o);
[<System.Security.SecurityCritical>]
static member CreateWrapperOfType : 'T -> 'Wrapper
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member CreateWrapperOfType : 'T -> 'Wrapper
static member CreateWrapperOfType : 'T -> 'Wrapper
Public Shared Function CreateWrapperOfType(Of T, TWrapper) (o As T) As TWrapper

Tür Parametreleri

T

Kaydıracak nesnenin türü.

TWrapper

Döndürülecek nesnenin türü.

Parametreler

o
T

Sarmalanacak nesne.

Döndürülenler

TWrapper

Yeni sarmalanan nesne.

Öznitelikler

Özel durumlar

T ' den __ComObjecttüretilmelidir.

-veya-

T bir Windows Çalışma Zamanı türüdür.

o tüm gerekli arabirimleri desteklemediğinden öğesine TWrapper dönüştürülemiyor.

Açıklamalar

CreateWrapperOfType<T,TWrapper>(T) türünde T bir COM nesnesini COM sınıf türüne TWrapper dönüştürür. parametresiyle otemsil edilen giriş COM nesnesi, Bir Çalışma Zamanı Çağrılabilen Sarmalayıcıdır (RCW).

T Hem genel tür parametresi hem o de parametre, imzaları özniteliğiyle System.Runtime.InteropServices.ComImportAttribute ilişkilendirilen sınıflar olmalıdır. Tlbimp.exe (Tür Kitaplığı İçeri Aktarıcısı) aracı, bir tür kitaplığını içeri aktardığında bu özniteliği sizin için uygular. RCW'yi kaynak kodunda el ile oluşturursanız, bu özniteliği ÖZGÜN coclass'ı temsil eden yönetilen imzaya uygulayarak COM kaynaklarını belirtmelisiniz.

Tlbimp.exe bir COM ortak sınıfını yönetilen sınıf ve arabirim olarak içeri aktarır. Coclass arabirimi özgün coclass ile aynı ada sahiptir ve yönetilen sınıfın "Sınıf" ile eklenmiş özgün coclass adı vardır. Örneğin, adlı MyCoclass bir coclass adlı bir coclass arabirimine ve adlı MyCoclassMyCoclassClassyönetilen bir sınıfa dönüşür. ArabirimT değil bir sınıf olması gerektiğinden, arabirimi değil yönetilen sınıfı (MyCoclassClass) belirttiğinizden coclass emin olun.

Not

Yeni bir RCW örneği özgün RCW tarafından kullanıma sunulan IUnknown işaretçisini sarmaladığı için, giriş COM nesnesinin kimliğini kaybedersiniz.

Şunlara uygulanır