Compartir a través de


"<nombreDeClase>" no es conforme a CLS porque deriva de "<nombreDeClaseBase>", que no es conforme a CLS.

Una clase o interfaz se marca como <CLSCompliant(True)> cuando se deriva (o lo implementa) de un tipo marcado como <CLSCompliant(False)> o que no está marcado.

Para que una clase o interfaz sea compatible con la Independencia del lenguaje y componentes independientes del lenguaje (CLS), toda su jerarquía de herencia también debe serlo. Esto significa que cada tipo del que hereda, directa o indirectamente, debe ser compatible. De forma similar, si una clase implementa una o varias interfaces, todas deben conformes a lo largo de su jerarquía de herencia.

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

Para corregir este error

  • Si necesita compatibilidad con CLS, defina este tipo dentro de una jerarquía de herencia diferente para el esquema de implementación.

  • Si requiere que este tipo permanezca dentro de su esquema de implementación o de la jerarquía de herencia actuales, quite el CLSCompliantAttribute de su definición o márquelo como <CLSCompliant(False)>.