Partager via


'<NomClasse>' n'est pas conforme CLS, car l'interface '<NomInterface>' qu'il implémente n'est pas conforme CLS

Mise à jour : novembre 2007

'<classname>' is not CLS-compliant because the interface '<interfacename>' it implements is not CLS-compliant

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

Pour qu'une classe ou une interface soit conforme au Spécification CLS (Common Language Specification) (CLS), l'intégralité de sa hiérarchie d'héritage doit être conforme. Cela signifie que chaque type duquel elle hérite, directement ou indirectement, doit être conforme. De même, si une classe implémente une ou plusieurs interfaces, celles-ci doivent être conformes dans 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 : BC40029

Pour corriger cette erreur

  • Si la conformité CLS est requise, définissez ce type dans une hiérarchie d'héritage ou un modèle d'implémentation différent.

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

Voir aussi

Concepts

Écriture d'un code conforme CLS