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 być 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 __ComObjectelementu .

-lub-

tjest typem środowisko wykonawcze systemu Windows.

Parametr t to 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 ojest otoką wywołaną środowiska uruchomieniowego (RCW).

t Parametry i o muszą być klasami, których podpisy są przypisywane za pomocą polecenia 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, która reprezentuje oryginalną coclassę, aby oznaczyć jej źródła COM.

Tlbimp.exe importuje klasę 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 coclass o MyCoclass nazwie staje się interfejsem coclass 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 zawijania.

TWrapper

Typ obiektu, który będzie zwracany.

Parametry

o
T

Obiekt, który ma być opakowany.

Zwraca

TWrapper

Nowo opakowany obiekt.

Atrybuty

Wyjątki

T musi pochodzić z __ComObjectelementu .

-lub-

Tjest typem środowisko wykonawcze 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 ojest otoką wywołaną środowiska uruchomieniowego (RCW).

T Zarówno parametr typu ogólnego, jak i o parametr musi być klasami, których podpisy są przypisywane atrybutemSystem.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, która reprezentuje oryginalną coclassę, aby oznaczyć jej źródła COM.

Tlbimp.exe importuje klasę 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 coclass o MyCoclass nazwie staje się interfejsem coclass 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