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

tes 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. Como t 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 encapsula 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

Tes 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. ComoT 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, porque una nueva instancia de RCW encapsula el puntero IUnknown expuesto por el RCW original.

Se aplica a