Marshal.CreateWrapperOfType Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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
Nově zabalený objekt.
- Atributy
Výjimky
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.