Marshal.CreateWrapperOfType Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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
Objeto recién ajustado.
- Atributos
Excepciones
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.