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
. 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
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
. 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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de