CA1409: Os tipos de visíveis Com devem ser criados
TypeName |
ComVisibleTypesShouldBeCreatable |
CheckId |
CA1409 |
<strong>Categoria</strong> |
Microsoft.Interoperability |
Alteração significativa |
Não-separável |
Causa
Um tipo de referência especificamente está marcado como visível para o modelo de objeto componente (COM) contém um construtor parametrizado público, mas não tem um construtor público padrão (sem parâmetros).
Descrição da regra
Um tipo sem um construtor público padrão não pode ser criado por clientes COM.No entanto, o tipo ainda pode ser acessado por clientes COM se outro meio está disponível para criar o tipo e passá-lo para o cliente (por exemplo, através do valor de retorno de uma chamada de método).
A regra ignora tipos derivados de System.Delegate.
Por padrão, a seguir estão visível para COM: assemblies, tipos públicos, membros de instância pública em tipos públicos e todos os membros de tipos de valor público.
Como corrigir violações
Para corrigir uma violação desta regra, um construtor público padrão de adicionar ou remover o System.Runtime.InteropServices.ComVisibleAttribute do tipo.
Quando suprimir avisos
É seguro eliminar um aviso esta regra se outras formas são fornecidas para criar e passar o objeto para o cliente COM.
Regras relacionadas
CA1017: Marcar assemblies com ComVisibleAttribute
Consulte também
Conceitos
Qualificação.NET tipos de interoperação