Udostępnij za pośrednictwem


Marshal.CreateWrapperOfType Metoda

Definicja

Przeciążenia

CreateWrapperOfType(Object, Type)
Przestarzałe.

Opakowuje określony obiekt COM w obiekcie określonego typu.

CreateWrapperOfType<T,TWrapper>(T)

Opakowuje określony obiekt COM w obiekcie określonego typu.

CreateWrapperOfType(Object, Type)

Źródło:
Marshal.NoCom.cs
Źródło:
Marshal.NoCom.cs
Źródło:
Marshal.NoCom.cs

Przestroga

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

Opakowuje określony obiekt COM w obiekcie określonego 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

Obiekt, który ma zostać opakowany.

t
Type

Typ otoki do utworzenia.

Zwraca

Nowo opakowany obiekt, który jest wystąpieniem żądanego typu.

Atrybuty

Wyjątki

t musi pochodzić z klasy __ComObject.

-lub-

t jest typem środowiska uruchomieniowego systemu Windows.

Parametr t ma wartość null.

o Nie można przekonwertować na typ docelowy, ponieważ nie obsługuje wszystkich wymaganych interfejsów.

Uwagi

CreateWrapperOfType Konwertuje jeden typ klasy COM, zazwyczaj typ podstawowy __ComObject , na inny typ klasy COM. Wejściowy obiekt COM, reprezentowany przez parametr o, jest runtime Callable Wrapper (RCW).

t Parametry i o muszą być klasami, których podpisy są przypisywane za pomocą System.Runtime.InteropServices.ComImportAttributepolecenia . Narzędzie Tlbimp.exe (importer biblioteki typów) stosuje ten atrybut podczas importowania biblioteki typów. Jeśli ręcznie utworzysz RCW w kodzie źródłowym, należy zastosować ten atrybut do sygnatury zarządzanej reprezentującej oryginalną coklasę, aby oznaczyć jej źródła COM.

Tlbimp.exe importuje coklasę COM jako klasę zarządzaną i interfejs. Interfejs coclass ma taką samą nazwę jak oryginalna coclass, a klasa zarządzana ma oryginalną nazwę coclass dołączona z "Class". Na przykład coklasa o nazwie MyCoclass staje się interfejsem coklasy o nazwie MyCoclass i klasą zarządzaną o nazwie MyCoclassClass. Ponieważ t musi być klasą, a nie interfejsem, należy określić klasę zarządzaną (MyCoclassClass), a nie interfejs coclass.

Uwaga

Utracisz tożsamość wejściowego obiektu COM, ponieważ nowe wystąpienie RCW opakowuje wskaźnik IUnknown uwidoczniony przez oryginalny RCW.

Zobacz też

Dotyczy

CreateWrapperOfType<T,TWrapper>(T)

Źródło:
Marshal.NoCom.cs
Źródło:
Marshal.NoCom.cs
Źródło:
Marshal.NoCom.cs

Opakowuje określony obiekt COM w obiekcie określonego 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 obiektu do opakowania.

TWrapper

Typ obiektu, który będzie zwracany.

Parametry

o
T

Obiekt, który ma zostać opakowany.

Zwraca

TWrapper

Nowo opakowany obiekt.

Atrybuty

Wyjątki

T musi pochodzić z klasy __ComObject.

-lub-

T jest typem środowiska uruchomieniowego systemu Windows.

o Nie można przekonwertować na element , TWrapper ponieważ nie obsługuje wszystkich wymaganych interfejsów.

Uwagi

CreateWrapperOfType<T,TWrapper>(T) Konwertuje obiekt COM typu T na TWrapper typ klasy COM. Wejściowy obiekt COM, reprezentowany przez parametr o, jest runtime Callable Wrapper (RCW).

T Zarówno parametr typu ogólnego, jak i o parametr muszą być klasami, których podpisy są przypisywane za pomocą atrybutu System.Runtime.InteropServices.ComImportAttribute . Narzędzie Tlbimp.exe (importer biblioteki typów) stosuje ten atrybut podczas importowania biblioteki typów. Jeśli ręcznie utworzysz RCW w kodzie źródłowym, należy zastosować ten atrybut do sygnatury zarządzanej reprezentującej oryginalną coklasę, aby oznaczyć jej źródła COM.

Tlbimp.exe importuje coklasę COM jako klasę zarządzaną i interfejs. Interfejs coclass ma taką samą nazwę jak oryginalna coclass, a klasa zarządzana ma oryginalną nazwę coclass dołączona z "Class". Na przykład coklasa o nazwie MyCoclass staje się interfejsem coklasy o nazwie MyCoclass i klasą zarządzaną o nazwie MyCoclassClass. PonieważT musi być klasą, a nie interfejsem, należy określić klasę zarządzaną (MyCoclassClass), a nie coclass interfejs.

Uwaga

Utracisz tożsamość wejściowego obiektu COM, ponieważ nowe wystąpienie RCW opakowuje wskaźnik IUnknown uwidoczniony przez oryginalny RCW.

Dotyczy