Marshal.CreateWrapperOfType Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Sobrecargas
| Name | Description |
|---|---|
| CreateWrapperOfType(Object, Type) |
Obsoleto.
Envolve o objeto COM especificado num objeto do tipo especificado. |
| CreateWrapperOfType<T,TWrapper>(T) |
Envolve o objeto COM especificado num objeto do tipo especificado. |
CreateWrapperOfType(Object, Type)
Atenção
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
Envolve o objeto COM especificado num objeto do 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);
public static object CreateWrapperOfType(object o, Type t);
[System.Security.SecurityCritical]
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
static member CreateWrapperOfType : obj * Type -> obj
[<System.Security.SecurityCritical>]
static member CreateWrapperOfType : obj * Type -> obj
Public Shared Function CreateWrapperOfType (o As Object, t As Type) As Object
Parâmetros
- o
- Object
O objeto a ser embrulhado.
- t
- Type
O tipo de embalagem a criar.
Devoluções
O objeto recém-embrulhado que é uma instância do tipo desejado.
- Atributos
Exceções
O t parâmetro é null.
o não pode ser convertido para o tipo de destino porque não suporta todas as interfaces necessárias.
Observações
CreateWrapperOfType converte um tipo de classe COM, tipicamente o tipo base __ComObject , para outro tipo de classe COM. O objeto COM de entrada, representado pelo parâmetro o, é um Invólucro Chamável em Tempo de Execução (RCW).
Ambos os t parâmetros e o devem ser classes cujas assinaturas são atribuídas com System.Runtime.InteropServices.ComImportAttribute. A ferramenta Tlbimp.exe (Importador de Biblioteca de Tipos) aplica este atributo para ti quando importa uma biblioteca de tipos. Se criares o RCW manualmente em código-fonte, deves aplicar este atributo à assinatura gerida que representa a coclasse original para indicar as suas origens COM.
Tlbimp.exe importa uma coclasse COM como uma classe gerida e uma interface. A interface da coclasse tem o mesmo nome da coclasse original, e a classe gerida tem o nome original da coclasse acrescentado a "Classe". Por exemplo, uma coclasse chamada MyCoclass torna-se uma interface de coclasse chamada MyCoclass e uma classe gerida chamada MyCoclassClass. Como t deve ser uma classe, não uma interface, certifique-se de especificar a classe gerida (MyCoclassClass) e não a interface de coclasse.
Note
Perdes a identidade do objeto COM de entrada porque uma nova instância RCW envolve o ponteiro IUnknown exposto pelo RCW original.
Ver também
Aplica-se a
CreateWrapperOfType<T,TWrapper>(T)
Envolve o objeto COM especificado num objeto do tipo especificado.
public:
generic <typename T, typename TWrapper>
static TWrapper CreateWrapperOfType(T o);
[System.Security.SecurityCritical]
public static TWrapper CreateWrapperOfType<T,TWrapper>(T o);
public static TWrapper CreateWrapperOfType<T,TWrapper>(T o);
[<System.Security.SecurityCritical>]
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 Genérico
- T
O tipo de objeto a envolver.
- TWrapper
O tipo de objeto a devolver.
Parâmetros
- o
- T
O objeto a ser embrulhado.
Devoluções
O objeto recém-embrulhado.
- Atributos
Exceções
o não pode ser convertido para o TWrapper porque não suporta todas as interfaces necessárias.
Observações
CreateWrapperOfType<T,TWrapper>(T) converte um objeto COM do tipo T para o TWrapper tipo de classe COM. O objeto COM de entrada, representado pelo parâmetro o, é um Invólucro Chamável em Tempo de Execução (RCW).
Tanto o T parâmetro genérico de tipo como o o parâmetro devem ser classes cujas assinaturas são atribuídas ao System.Runtime.InteropServices.ComImportAttribute atributo. A ferramenta Tlbimp.exe (Importador de Biblioteca de Tipos) aplica este atributo para ti quando importa uma biblioteca de tipos. Se criares o RCW manualmente em código-fonte, deves aplicar este atributo à assinatura gerida que representa a coclasse original para indicar as suas origens COM.
Tlbimp.exe importa uma coclasse COM como uma classe gerida e uma interface. A interface da coclasse tem o mesmo nome da coclasse original, e a classe gerida tem o nome original da coclasse acrescentado a "Classe". Por exemplo, uma coclasse chamada MyCoclass torna-se uma interface de coclasse chamada MyCoclass e uma classe gerida chamada MyCoclassClass. ComoT deve ser uma classe, não uma interface, certifique-se de especificar a classe gerida (MyCoclassClass) e não a coclass interface.
Note
Perdes a identidade do objeto COM de entrada, porque uma nova instância RCW envolve o ponteiro IUnknown exposto pelo RCW original.