Aplicando atributos de interoperabilidade
O System.Runtime.InteropServices namespace fornece três categorias de atributos específicos de interoperabilidade: as aplicadas por você, em tempo de design, as aplicadas por APIs e ferramentas de interoperabilidade COM durante o processo de conversão e as aplicadas tanto por você ou a interoperabilidade COM.
Se você estiver familiarizado com a tarefa de aplicação de atributos para código gerenciado, consulte Estendendo metadados usando atributos. Como outros atributos personalizados, você pode aplicar atributos específicos de interoperabilidade para tipos, métodos, propriedades, parâmetros, campos e outros membros.
Atributos de tempo de design
Você pode ajustar o resultado do processo de conversão realizado por APIs e ferramentas de interoperabilidade COM, usando os atributos de tempo de design. A tabela a seguir descreve os atributos que você pode aplicar ao seu código fonte gerenciado. Ferramentas de interoperabilidade COM, na ocasião, também podem aplicar os atributos descritos nesta tabela.
Atributo |
Descrição |
---|---|
Especifica o tipo deve ser empacotado usando o empacotador de automação ou de um proxy e stub. |
|
Controla o tipo de interface gerado para uma classe. |
|
Identifica o CLSID do coclass original importado de uma biblioteca de tipo. Ferramentas de interoperabilidade COM geralmente se aplicam a este atributo. |
|
Indica que uma definição de interface ou coclass foi importada de uma biblioteca de tipos COM. O runtime usa esse sinalizador para saber como ativar e empacotar o tipo. Este atributo proíbe o tipo sendo exportados de volta para uma biblioteca de tipos. Ferramentas de interoperabilidade COM geralmente se aplicam a este atributo. |
|
Indica que um método deve ser chamado quando o assembly está registrado para uso do COM, para que o código escrito por usuário pode ser executado durante o processo de registro. |
|
Identifica as interfaces que são fontes de eventos para a classe. Ferramentas de interoperabilidade COM podem aplicar esse atributo. |
|
Indica que um método deve ser chamado quando o assembly é cancelado de COM, para que o código escrito por usuário pode ser executado durante o processo. |
|
Processa tipos invisível COM quando o valor do atributo é igual a false. Esse atributo pode ser aplicado a um tipo individual ou a um assembly inteiro para controlar a visibilidade de COM. Por padrão, todos os tipos gerenciados e públicos são visíveis; o atributo não é necessário torná-los visíveis. |
|
Especifica o identificador de expedição COM (DISPID) de um campo ou método. Esse atributo contém o DISPID para o método, campo ou propriedade que ele descreve. Ferramentas de interoperabilidade COM podem aplicar esse atributo. |
|
Indica a posição física de cada campo de uma classe quando usado com o StructLayoutAttributee o LayoutKind é definida como explícita. |
|
Especifica o identificador global exclusivo (GUID) de uma classe, interface ou uma biblioteca de tipo inteiro. A seqüência de caracteres passada para o atributo deve ser um formato que é um argumento do construtor aceitável para o tipo de GUID. Ferramentas de interoperabilidade COM podem aplicar esse atributo. |
|
Indica qual IDispatch o common language runtime usa ao expor interfaces duplos e dispinterfaces para COM. de implementação de interface. |
|
Indica que os dados devem ser empacotados ao chamador. Pode ser usado para parâmetros de atributo. |
|
Controla como uma interface gerenciada é exposta aos clientes do COM (Dual, derivada de IUnknown, ou apenas o IDispatch). Ferramentas de interoperabilidade COM podem aplicar esse atributo. |
|
Indica que uma assinatura de método não-gerenciado espera um parâmetro LCID. Ferramentas de interoperabilidade COM podem aplicar esse atributo. |
|
Indica como os dados nos campos ou parâmetros devem ser empacotados entre código gerenciado e. O atributo sempre é opcional, porque cada tipo de dados tem um comportamento de marshaling padrão. Ferramentas de interoperabilidade COM podem aplicar esse atributo. |
|
Indica que um parâmetro é opcional. Ferramentas de interoperabilidade COM podem aplicar esse atributo. |
|
Indica que os dados em um campo ou o parâmetro devem ser empacotados de um objeto chamado volta para seu chamador. |
|
Suprime a transformação de assinatura HRESULT ou retval que normalmente ocorre durante chamadas de interoperação. O atributo afeta o empacotamento, bem como a exportação de biblioteca de tipo. Ferramentas de interoperabilidade COM podem aplicar esse atributo. |
|
Especifica o ProgID de um.Classe do NET Framework. Pode ser usado para classes de atributo. |
|
Controla o layout físico dos campos de uma classe. Ferramentas de interoperabilidade COM podem aplicar esse atributo. |
Atributos de ferramenta de conversão
A tabela a seguir descreve os atributos que se aplicam durante o processo de conversão ferramentas de interoperabilidade COM. Você não aplicar esses atributos em tempo de design.
Atributo |
Descrição |
---|---|
Indica o alias COM um tipo de parâmetro ou campo. Pode ser usado para parâmetros de atributo, campos, ou retornar valores. |
|
Indica que as informações sobre uma classe ou interface foi perdidas quando ele foi importado de uma biblioteca de tipos a um assembly. |
|
Identifica a interface de origem e a classe que implementa os métodos da interface de eventos. |
|
Indica que o assembly originalmente foi importado de uma biblioteca de tipos COM. Esse atributo contém a definição de biblioteca de tipo de biblioteca de tipos do original. |
|
Contém o FUNCFLAGS que foram originalmente importados para esta função de biblioteca de tipos COM. |
|
Contém o TYPEFLAGS que foram originalmente importados para este tipo de biblioteca de tipos COM. |
|
Contém o VARFLAGS que foram originalmente importados para essa variável de biblioteca de tipos COM. |
Consulte também
Referência
System.Runtime.InteropServices
Conceitos
Expondo.NET Framework para COM
Estendendo metadados usando atributos