Compartilhar via


CA1409: os tipos visíveis Com devem ser criáveis

TypeName

ComVisibleTypesShouldBeCreatable

CheckId

CA1409

Categoria

Microsoft.Interoperability

Alteração Significativa

Sem quebra

Causa

Um tipo de referência que é marcado como especificamente visível ao Component Object Model (COM) contém um construtor público mas não com parâmetros contém um construtor (sem parâmetros) público padrão.

Descrição da Regra

Um tipo sem um construtor público padrão não pode ser criada por clientes COM.No entanto, o tipo ainda poderá ser acessado pelos clientes COM se outros meios estão disponíveis para criar o tipo e o passar ao cliente (por exemplo, com o valor de retorno da chamada do método).

A regra ignora os tipos derivados de Delegate.

Por padrão, os seguintes são visíveis à: os assemblies, tipos de chaves pública, membros públicos da instância do no utilitário, e todos os membros de tipos de valor públicos.

Como Corrigir Violações

Para corrigir uma violação desta regra, adicione um construtor padrão público ou remover ComVisibleAttribute do tipo.

Quando Suprimir Alertas

É seguro suprimir um aviso dessa regra se outros modos são fornecidas para criar e passe o objeto ao cliente da.

Regras Relacionadas

CA1017: marcar assemblies com ComVisibleAttribute

Consulte também

Conceitos

Qualificando tipos do .NET para interoperação

Outros recursos

Interoperação com código não gerenciado