Partilhar via


Com visíveis tipos devem ser creatable

TypeName

ComVisibleTypesShouldBeCreatable

CheckId

CA1409

Category (Categoria)

Microsoft.interoperabilidade

Quebrando alterar

Não separável

Causa

Um tipo de referência especificamente está marcado sistema autônomo visível para com. contém um construtor público com parâmetros, mas não contém um construtor público padrão (sem parâmetros).

Descrição da regra

Não é um tipo sem um construtor público padrão creatable por clientes COM.No entanto, o tipo está ainda acessível a clientes COM se houver outro meio criar o tipo e passá-lo ao cliente, por exemplo, por meio do valor retornado de telefonar de método.

A regra ignora tipos derivados de System.Delegate.

Por padrão, é visível para COM o seguinte: assemblies, tipos públicos, os 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 dessa regra, adicione um construtor público padrão ou remova o System.Runtime.InteropServices.ComVisibleAttribute do tipo.

Quando suprimir avisos

É seguro eliminar um aviso essa regra se outras formas são fornecidas para criar e passar o objeto para o cliente COM.

Regras relacionadas

Marcar assemblies com ComVisibleAttribute

Consulte também

Conceitos

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

Outros recursos

Interoperação com Código Não-Gerenciado