Marshal.CreateWrapperOfType Metoda

Definice

Přetížení

CreateWrapperOfType(Object, Type)
Zastaralé.

Zalomí zadaný objekt COM do objektu zadaného typu.

CreateWrapperOfType<T,TWrapper>(T)

Zalomí zadaný objekt COM do objektu zadaného typu.

CreateWrapperOfType(Object, Type)

Zdroj:
Marshal.NoCom.cs
Zdroj:
Marshal.NoCom.cs
Zdroj:
Marshal.NoCom.cs

Upozornění

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

Zalomí zadaný objekt COM do objektu zadaného typu.

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

Parametry

o
Object

Objekt, který se má zabalit.

t
Type

Typ obálky, která se má vytvořit.

Návraty

Nově zabalený objekt, který je instancí požadovaného typu.

Atributy

Výjimky

t musí být odvozeno od __ComObject.

-nebo-

tje typ prostředí Windows Runtime.

Parametr t je null.

o nelze převést na cílový typ, protože nepodporuje všechna požadovaná rozhraní.

Poznámky

CreateWrapperOfType převede jeden typ třídy COM, obvykle základní __ComObject typ, na jiný typ třídy MODELU COM. Vstupní objekt COM, reprezentovaný parametrem o, je modul RUNTIME Callable Wrapper (RCW).

t Parametry a o musí být třídy, jejichž podpisy jsou přiřazeny pomocí System.Runtime.InteropServices.ComImportAttribute. Nástroj Tlbimp.exe (Type Library Importer) použije tento atribut za vás při importu knihovny typů. Pokud vytvoříte RCW ručně ve zdrojovém kódu, měli byste tento atribut použít na spravovaný podpis, který představuje původní coclass, aby se znaménko jeho původ com.

Tlbimp.exe importuje koclass modelu COM jako spravovanou třídu a rozhraní. Rozhraní coclass má stejný název jako původní coclass a spravovaná třída má původní název coclass připojený s "Třída". Například volaná MyCoclass třída coclass se stane rozhraním coclass s názvem MyCoclass a spravovanou třídou s názvem MyCoclassClass. Vzhledem k tomu t , že musí být třída, nikoli rozhraní, nezapomeňte zadat spravovanou třídu (MyCoclassClass) a ne rozhraní coclass.

Poznámka

Ztratíte identitu vstupního objektu COM, protože nová instance RCW zabalí ukazatel IUnknown vystavený původní RCW.

Viz také

Platí pro

CreateWrapperOfType<T,TWrapper>(T)

Zdroj:
Marshal.NoCom.cs
Zdroj:
Marshal.NoCom.cs
Zdroj:
Marshal.NoCom.cs

Zalomí zadaný objekt COM do objektu zadaného typu.

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

Parametry typu

T

Typ objektu, který chcete zalomit.

TWrapper

Typ objektu, který chcete vrátit.

Parametry

o
T

Objekt, který se má zabalit.

Návraty

TWrapper

Nově zabalený objekt.

Atributy

Výjimky

T musí být odvozeno od __ComObject.

-nebo-

Tje typ prostředí Windows Runtime.

o nelze převést na TWrapper objekt, protože nepodporuje všechna požadovaná rozhraní.

Poznámky

CreateWrapperOfType<T,TWrapper>(T) převede objekt com typu T na TWrapper typ třídy COM. Vstupní objekt COM, reprezentovaný parametrem o, je modul RUNTIME Callable Wrapper (RCW).

T Parametr obecného typu i o parametr musí být třídy, jejichž podpisy jsou přiřazeny atributem System.Runtime.InteropServices.ComImportAttribute . Nástroj Tlbimp.exe (Type Library Importer) použije tento atribut za vás při importu knihovny typů. Pokud vytvoříte RCW ručně ve zdrojovém kódu, měli byste tento atribut použít na spravovaný podpis, který představuje původní coclass, aby se znaménko jeho původ com.

Tlbimp.exe importuje koclass modelu COM jako spravovanou třídu a rozhraní. Rozhraní coclass má stejný název jako původní coclass a spravovaná třída má původní název coclass připojený s "Třída". Například volaná MyCoclass třída coclass se stane rozhraním coclass s názvem MyCoclass a spravovanou třídou s názvem MyCoclassClass. Vzhledem k tomuT , že musí být třída, nikoli rozhraní, nezapomeňte zadat spravovanou třídu (MyCoclassClass) a ne coclass rozhraní.

Poznámka

Ztratíte identitu vstupního objektu COM, protože nová instance RCW zabalí ukazatel IUnknown vystavený původní RCW.

Platí pro