Membro 'MustOverride' não está em conformidade com CLS não permitido em uma <classname> em conformidade com CLS
Uma classe é marcada como <CLSCompliant(True)>
, mas contém uma propriedade ou procedimento MustOverride
marcado como <CLSCompliant(False)>
ou não marcado.
Quando uma classe está em conformidade com o CLS (Independência de Linguagem e Componentes Independentes de Linguagem), um aplicativo que usa essa classe acessa apenas os membros que também são marcados como <CLSCompliant(True)>
e ignora os membros que não são. No entanto, o aplicativo não pode ignorar uma propriedade ou procedimento MustOverride
, pois precisa acessar essa propriedade ou procedimento para substituí-la.
Quando você aplica o CLSCompliantAttribute a um elemento de programação, define o parâmetro isCompliant
do atributo como True
ou False
para indicar conformidade ou não conformidade. Não há nenhum padrão para esse parâmetro e você precisa fornecer um valor.
Se você não aplicar o CLSCompliantAttribute a um elemento, ele será considerado que não está em conformidade.
Por padrão, esta mensagem é um aviso. Para obter mais informações sobre como ocultar avisos ou tratar avisos como erros, consulte Configurar Avisos no Visual Basic.
ID do Erro: BC40034
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ê precisar de conformidade com CLS e não tiver controle sobre o código-fonte da classe ou se ele não se qualificar para estar em conformidade, defina esse membro em uma classe diferente.
Se você exigir que esse membro permaneça incompatível, remova a palavra-chave
MustOverride
da definição dele, remova a CLSCompliantAttribute da definição de classe ou marque a classe como<CLSCompliant(False)>
.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: