O membro 'MustOverride' não compatível com CLS não é permitido em um nome de classe compatível com <CLS>

Uma classe é marcada como <CLSCompliant(True)>, mas contém uma MustOverride propriedade ou procedimento marcado como <CLSCompliant(False)> ou não marcado.

Quando uma classe é compatível com o Language Independence and Language Independent Components (CLS), um aplicativo que usa essa classe acessa apenas os membros que também estão marcados como <CLSCompliant(True)> e ignora os membros que não estão. No entanto, o aplicativo não pode ignorar uma MustOverride propriedade ou procedimento, porque ele deve acessar essa propriedade ou procedimento para substituí-lo.

Ao aplicar o CLSCompliantAttribute a um elemento de programação, você define o parâmetro do isCompliant atributo como ou True False para indicar conformidade ou não conformidade. Não há nenhum padrão para esse parâmetro e você deve fornecer um valor.

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

Por padrão, essa mensagem é um aviso. Para obter informações sobre como ocultar avisos ou tratar avisos como erros, consulte Configurando avisos no Visual Basic.

ID de erro: BC40034

Para corrigir este erro

  • Se você precisar de conformidade com CLS e tiver controle sobre o código-fonte da classe, marque o membro como <CLSCompliant(True)>.

  • Se você exigir conformidade com CLS e não tiver controle sobre o código-fonte da classe, ou se ele não se qualificar para ser compatível, defina esse membro dentro de uma classe diferente.

  • Se você exigir que esse membro permaneça não compatível, remova a MustOverride palavra-chave de sua definição, remova a CLSCompliantAttribute definição de classe ou marque a classe como <CLSCompliant(False)>.

Consulte também