Partilhar via


'<classname>' não é compatível com CLS porque ela deriva de '<baseclassname>' que não é compatível com CLS

Uma classe ou interface está marcada como <CLSCompliant(True)> quando ela deriva de ou implementa um tipo que está marcado como <CLSCompliant(False)> ou não está marcado.

Para que uma classe ou interface seja compatível com o CLS (Common Language Specification) (CLS), sua hierarquia de herança inteira deve ser compatível.Isso significa que todos os tipos dos quais ela herda, direta ou indiretamente, devem ser compatíveis.Da mesma forma, se uma classe implementa uma ou mais interfaces, todas elas devem ser compatíveis em suas hierarquias de herança.

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: BC40026

Para corrigir este erro

  • Se você precisar de conformidade CLS, defina este tipo em uma hierarquia de herança ou implementação de esquema diferente.

  • Se você precisar que esse tipo permaneça em sua hierarquia de herança ou esquema de implementação atual, remova o CLSCompliantAttribute de sua definição ou marque-o como <CLSCompliant(False)>.

Consulte também

Conceitos

Escrevendo código compatível com CLS