Compartir a través de


No se permite un miembro 'MustOverride' no conforme a CLS en un <classname> conforme a CLS

Una clase está marcada como <CLSCompliant(True)>, pero contiene una propiedad o un procedimiento MustOverride que está marcado como <CLSCompliant(False)> o no está marcada.

Cuando una clase es compatible con la Independencia del lenguaje y componentes independientes del lenguaje (CLS), una aplicación que usa dicha clase solo accede a los miembros que también están marcados como <CLSCompliant(True)> e ignora aquellos que no lo están. Sin embargo, la aplicación no puede ignorar una propiedad o un procedimiento MustOverride , porque debe acceder a esa propiedad o ese procedimiento para reemplazarlo.

Al aplicar CLSCompliantAttribute a un elemento de programación, establezca el parámetro isCompliant del atributo en True o False para indicar conformidad o disconformidad. No hay ningún valor predeterminado para este parámetro, por lo que debe proporcionar uno.

Si no se aplica CLSCompliantAttribute a un elemento, se considera que no es conforme.

De forma predeterminada, este mensaje es una advertencia. Para obtener información sobre cómo ocultar las advertencias o cómo tratarlas como errores, vea Configuring Warnings in Visual Basic.

Identificador de error: BC40034

Para corregir este error

  • Si requiere conformidad con CLS y tener control sobre el código fuente de la clase, marque el miembro como <CLSCompliant(True)>.

  • Si requiere conformidad con CLS y no tener control sobre el código fuente de la clase, o si no reúne los requisitos de conformidad, defina a este miembro en otra clase.

  • Si requiere que este miembro siga siendo no conforme, quite la palabra clave MustOverride de su definición, quite el CLSCompliantAttribute de la definición de clase o marque la clase como <CLSCompliant(False)>.

Consulte también