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í
| Name | Description |
|---|---|
| CreateWrapperOfType(Object, Type) |
Zastaralé.
Zabalí zadaný objekt COM do objektu zadaného typu. |
| CreateWrapperOfType<T,TWrapper>(T) |
Zabalí zadaný objekt COM do objektu zadaného typu. |
CreateWrapperOfType(Object, Type)
- Zdroj:
- Marshal.NoCom.cs
- Zdroj:
- Marshal.NoCom.cs
- 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
Zabalí 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ý má být zabalen.
- 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 MODELU COM, obvykle základní __ComObject typ, na jiný typ třídy MODELU COM. Vstupní objekt COM reprezentovaný parametrem oje modul runtime callable Wrapper (RCW).
Oba t parametry o musí být třídy, jejichž podpisy jsou přiřazeny System.Runtime.InteropServices.ComImportAttribute. Nástroj Tlbimp.exe (Type Library Importer) použije tento atribut za vás při importu knihovny typů. Pokud rcW vytvoříte ručně ve zdrojovém kódu, měli byste tento atribut použít u spravovaného podpisu, který představuje původní třídu coclass, aby bylo možné značit jeho původy modelu COM.
Tlbimp.exe importuje třídu modelu COM jako spravovanou třídu a rozhraní. Rozhraní třídy coclass má stejný název jako původní třída a spravovaná třída má původní název třídy coclass připojený pomocí třídy. Například volaná MyCoclass třída coclass se stane rozhraním typu coclass a MyCoclass spravovaná třída s názvem MyCoclassClass. Vzhledem k tomu t , že musí být třída, nikoli rozhraní, nezapomeňte určit spravovanou třídu (MyCoclassClass) a nikoli rozhraní třídy 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
- Zdroj:
- Marshal.NoCom.cs
- Zdroj:
- Marshal.NoCom.cs
Zabalí 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 zalamovat.
- TWrapper
Typ objektu, který se má vrátit.
Parametry
- o
- T
Objekt, který má být zabalen.
Návraty
Nově zabalený objekt.
- Atributy
Výjimky
o nelze převést na rozhraní TWrapper , protože nepodporuje všechna požadovaná rozhraní.
Poznámky
CreateWrapperOfType<T,TWrapper>(T) převede objekt MODELU COM typu T na TWrapper typ třídy COM. Vstupní objekt COM reprezentovaný parametrem oje modul runtime callable Wrapper (RCW).
T Parametr obecného typu i o parametr musí být třídy, jejichž podpisy jsou přiřazeny atributemSystem.Runtime.InteropServices.ComImportAttribute. Nástroj Tlbimp.exe (Type Library Importer) použije tento atribut za vás při importu knihovny typů. Pokud rcW vytvoříte ručně ve zdrojovém kódu, měli byste tento atribut použít u spravovaného podpisu, který představuje původní třídu coclass, aby bylo možné značit jeho původy modelu COM.
Tlbimp.exe importuje třídu modelu COM jako spravovanou třídu a rozhraní. Rozhraní třídy coclass má stejný název jako původní třída a spravovaná třída má původní název třídy coclass připojený pomocí třídy. Například volaná MyCoclass třída coclass se stane rozhraním typu coclass a MyCoclass spravovaná třída s názvem MyCoclassClass. ProtožeT musí být třída, nikoli rozhraní, nezapomeňte určit 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.