Compartilhar via


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

Se você pretende expõe tipos em um assembly para aplicativos do COM, considere os requisitos de interoperabilidade COM em time de design.Tipos gerenciado (classe, interface, estrutura e enumeração) integram diretamente 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, é 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 usar Interface Definition linguagem (IDL) ou seu equivalente. Para obter detalhes de sintaxe, consulte a documentação do linguagem.

  • Tipos gerenciado devem ser públicos.

    Apenas tipos públicos em um assembly registrados e exportados para a biblioteca de tipos.sistema autônomo resultado, apenas tipos públicos são visíveis para COM.

    Gerenciado tipos expõem recursos para outros códigos gerenciados não podem ser expostos para COM.Por exemplo, campos constante, métodos estático e construtores com parâmetros não estão expostos a clientes COM.Além disso, sistema autônomo o tempo de execução empacota sistema autônomo dados e para fora de um tipo, sistema autônomo dados podem estar 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 seja visível para COM.Você pode restringir a visibilidade de um assembly, um tipo público ou membros públicos de um tipo público, aplicando o ComVisibleAttribute. Por padrão, todos os tipos públicos e os membros fiquem visíveis.

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

    Tipos gerenciado e públicos estã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 está ativado por algum Outros meio.

  • Tipos não podem ser abstract.

    Nem clientes COM os clientes do .NET podem criar tipos abstratos.

Quando exportados para com., a hierarquia de herança de um tipo gerenciado será achatada.Controle de versão também é diferente entre ambientes gerenciado e não gerenciado.Tipos expostos para com. não têm sistema autônomo mesmas características de controle de versões de outros tipos gerenciado.

Consulte também

Conceitos

Expondo componentes .NET estrutura para com.

Apresentando a interface de classe

Aplicar atributos de interoperabilidade

Empacotando um assembly para com.

Referência

ComVisibleAttribute