Partilhar via


Tipo '<typename1>' não pode ser marcado com CLS porque seu tipo recipiente '<typename2>' não é compatível com CLS

Uma classe ou interface está marcado sistema autônomo <CLSCompliant(True)> Quando estiver aninhado em um tipo que está marcado sistema autônomo <CLSCompliant(False)> ou não está marcado.

Para uma classe ou interface para ser compatível com o CLS (Common Language Specification) (CLS), sua hierarquia de confinamento inteiro deve ser compatível. Isso significa que todos os tipos no qual está aninhado devem ser compatível.

Quando você aplica o CLSCompliantAttribute a um elemento de programação, você define o parâmetro isCompliant do atributo para True ou False para indicar compatibilidade ou incompatibilidade.Não há padrão para este parâmetro, e você deve fornecer um valor.

Se você não aplicar o CLSCompliantAttribute a um elemento, ele vai ser considerado incompatível.

Por padrão, essa é uma mensagem de aviso.Para informações sobre como ocultar avisos ou tratar avisos como erros, consulte Configurando Avisos (Warnings) no Visual Basic.

ID de erro: BC40030

Para corrigir este erro

  • Se você precisar de compatibilidade com CLS, defina este tipo de dentro de uma hierarquia de confinamento diferentes.

  • Se você exigir que esse tipo permanecem dentro da sua hierarquia de contenção corrente, remova o CLSCompliantAttribute de sua definição ou marcá-la sistema autônomo <CLSCompliant(False)>.

Consulte também

Conceitos

Escrevendo código compatível com CLS