Marshal.CreateWrapperOfType Método

Definición

Sobrecargas

CreateWrapperOfType(Object, Type)
Obsoletos.

Ajusta el objeto COM especificado en un objeto del tipo especificado.

CreateWrapperOfType<T,TWrapper>(T)

Ajusta el objeto COM especificado en un objeto del tipo especificado.

CreateWrapperOfType(Object, Type)

Source:
Marshal.NoCom.cs
Source:
Marshal.NoCom.cs
Source:
Marshal.NoCom.cs

Precaució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

Ajusta el objeto COM especificado en un objeto del tipo especificado.

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

Parámetros

o
Object

Objeto que se va a almacenar en un contenedor.

t
Type

Tipo de contenedor que se va a crear.

Devoluciones

Objeto recién ajustado que es una instancia del tipo deseado.

Atributos

Excepciones

t debe derivar de __ComObject.

o bien

t es un tipo de Windows Runtime.

El parámetro t es null.

o no se puede convertir en el tipo de destino, ya que no admite todas las interfaces requeridas.

Comentarios

CreateWrapperOfType convierte un tipo de clase COM, normalmente el tipo base __ComObject , en otro tipo de clase COM. El objeto COM de entrada, representado por el parámetro o, es un contenedor RCW.

t Los parámetros y o deben ser clases cuyas firmas se atribuyen a System.Runtime.InteropServices.ComImportAttribute. La herramienta Tlbimp.exe (Importador de biblioteca de tipos) aplica este atributo automáticamente cuando importa una biblioteca de tipos. Si crea el RCW manualmente en el código fuente, debe aplicar este atributo a la firma administrada que representa la coclase original para indicar sus orígenes COM.

Tlbimp.exe importa una coclase COM como una clase administrada y una interfaz. La interfaz de coclase tiene el mismo nombre que la coclase original y la clase administrada tiene el nombre de coclase original anexado con "Class". Por ejemplo, una coclase denominada MyCoclass se convierte en una interfaz de coclase denominada MyCoclass y una clase administrada denominada MyCoclassClass. Puesto t que debe ser una clase, no una interfaz, asegúrese de especificar la clase administrada (MyCoclassClass) y no la interfaz de coclase.

Nota

Pierde la identidad del objeto COM de entrada porque una nueva instancia de RCW ajusta el puntero IUnknown expuesto por el RCW original.

Consulte también

Se aplica a

CreateWrapperOfType<T,TWrapper>(T)

Source:
Marshal.NoCom.cs
Source:
Marshal.NoCom.cs
Source:
Marshal.NoCom.cs

Ajusta el objeto COM especificado en un objeto del tipo especificado.

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

Parámetros de tipo

T

Tipo de objeto que se va a incluir.

TWrapper

Tipo de objeto que se va a devolver.

Parámetros

o
T

Objeto que se va a almacenar en un contenedor.

Devoluciones

TWrapper

Objeto recién ajustado.

Atributos

Excepciones

T debe derivar de __ComObject.

o bien

T es un tipo de Windows Runtime.

o no se puede convertir en TWrapper porque no admite todas las interfaces necesarias.

Comentarios

CreateWrapperOfType<T,TWrapper>(T) convierte un objeto COM de tipo T en el TWrapper tipo de clase COM. El objeto COM de entrada, representado por el parámetro o, es un contenedor RCW.

Tanto el T parámetro de tipo genérico como el o parámetro deben ser clases cuyas firmas se atribuyen al System.Runtime.InteropServices.ComImportAttribute atributo . La herramienta Tlbimp.exe (Importador de biblioteca de tipos) aplica este atributo automáticamente cuando importa una biblioteca de tipos. Si crea el RCW manualmente en el código fuente, debe aplicar este atributo a la firma administrada que representa la coclase original para indicar sus orígenes COM.

Tlbimp.exe importa una coclase COM como una clase administrada y una interfaz. La interfaz de coclase tiene el mismo nombre que la coclase original y la clase administrada tiene el nombre de coclase original anexado con "Class". Por ejemplo, una coclase denominada MyCoclass se convierte en una interfaz de coclase denominada MyCoclass y una clase administrada denominada MyCoclassClass. Dado queT debe ser una clase, no una interfaz, asegúrese de especificar la clase administrada (MyCoclassClass) y no la coclass interfaz .

Nota

Pierde la identidad del objeto COM de entrada, ya que una nueva instancia de RCW ajusta el puntero IUnknown expuesto por el RCW original.

Se aplica a