Qualificação.NET tipos de interoperação

Se você pretende expor os tipos em um assembly para aplicativos do COM, considere os requisitos de interoperabilidade COM em tempo de design. Tipos gerenciados (classe, interface, estrutura e enumeração) integram tipos COM quando você está de acordo com as diretrizes a seguir:

  • Classes devem implementar interfaces explicitamente.

    Embora a interoperabilidade COM fornece um mecanismo para gerar automaticamente uma interface que contém todos os membros da classe e os membros de sua classe base, que é muito melhor fornecer interfaces explícitas. A interface gerada automaticamente é chamada de interface de classe. Para obter diretrizes, consulte apresentando a Interface de classe.

    Você pode usar Visual Basic 2005, C# e C++ para incorporar as definições de interface no seu código, em vez de ter que usar a Interface Definition Language (IDL) ou equivalente. Para obter detalhes de sintaxe, consulte a documentação do seu idioma.

  • Tipos gerenciados devem ser públicos.

    Apenas tipos públicos em um assembly registrados e exportados para a biblioteca de tipos. Como resultado, somente os tipos públicos são visíveis para com.

    Gerenciado de recursos de exposição de tipos para outro código gerenciado, não pode ser exposta com. Por exemplo, campos de constantes, métodos estáticos e construtores parametrizados não estão expostos a clientes COM. Além disso, como o runtime empacota os dados e check-out de um tipo, os dados pode ser copiados ou transformados.

  • Métodos, propriedades, campos e eventos devem ser públicos.

    Membros de tipos públicos também devem ser públicos se eles forem ser visível para com. Você pode restringir a visibilidade de um assembly, um tipo público ou membros públicos de um tipo de público, aplicando a ComVisibleAttribute. Por padrão, todos os membros e tipos públicos estão visíveis.

  • Tipos devem ter um construtor público padrão para ser ativado a partir de COM.

    Tipos gerenciados e públicos são visíveis para com. No entanto, sem um construtor público padrão (um construtor sem argumentos), clientes COM não é possível criar o tipo. Clientes COM ainda podem usar o tipo, se ele está ativado por algum outro meio.

  • Tipos de não podem ser abstract.

    Nenhum dos clientes COM nem.Clientes de rede podem criar tipos abstratos.

Quando exportados para COM, a hierarquia de herança de um tipo gerenciado é simples. Além disso, Versionamento difere entre ambientes gerenciados e não gerenciados. Tipos expostos a COM não têm as mesmas características de versionamento de outros tipos gerenciados.

Consulte também

Referência

ComVisibleAttribute

Conceitos

Expondo.NET Framework para COM

Apresentando a Interface de classe

Aplicando atributos de interoperabilidade

Empacotamento de um Assembly para COM