'<NomClasse>' n'est pas conforme CLS, car il dérive de '<NomClasseDeBase>', qui n'est pas conforme CLS

Mise à jour : novembre 2007

'<classname>' is not CLS-compliant because it derives from '<baseclassname>', which is not CLS-compliant

Une classe ou une interface est marquée comme <CLSCompliant(True)> lorsqu'elle dérive d'un type ou en implémente un qui est marqué comme <CLSCompliant(False)> ou qui n'est pas marqué.

Pour qu'une classe ou une interface soit conforme Spécification CLS (Common Language Specification) (CLS), toute sa hiérarchie d'héritage doit être conforme. Cela signifie que chaque type dont elle hérite, directement ou indirectement, doit être conforme. De même, si une classe implémente une ou plusieurs interfaces, elles doivent être conformes dans l'ensemble de leurs hiérarchies d'héritage.

Lorsque vous appliquez CLSCompliantAttribute à un élément de programmation, vous affectez au paramètre isCompliant de l'attribut la valeur True ou False pour indiquer la conformité ou la non-conformité. Il n'existe pas de valeur par défaut pour ce paramètre et vous devez fournir une valeur.

Si vous n'appliquez pas CLSCompliantAttribute à un élément, il est considéré comme étant non conforme.

Par défaut, ce message est un avertissement. Pour plus d'informations sur le masquage des avertissements ou le traitement des avertissements en tant qu'erreurs, consultez Configuration d'avertissements en Visual Basic.

ID d'erreur : BC40026

Pour corriger cette erreur

  • S'il est nécessaire d'avoir une conformité CLS, définissez ce type dans une hiérarchie d'héritage ou dans un modèle d'implémentation différent.

  • Si ce type doit rester dans sa hiérarchie d'héritage ou dans son modèle d'implémentation actuel, supprimez l'CLSCompliantAttribute de sa définition ou marquez-le comme <CLSCompliant(False)>.

Voir aussi

Concepts

Écriture d'un code conforme CLS