« <nom_classe> » n’est pas conforme aux CLS, car il dérive de « <nom_classe_de_base> », qui n’est pas conforme aux CLS
Une classe ou une interface est marquée comme <CLSCompliant(True)>
quand elle est dérivée d’un type 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 à Indépendance du langage et composants indépendants du langage (CLS), sa hiérarchie d’héritage entière 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, celles-ci doivent toutes être conformes au sein de leurs hiérarchies d’héritage.
Quand vous appliquez l’attribut 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 leur traitement en tant qu’erreurs, consultez Configuring Warnings in Visual Basic.
ID d’erreur : BC40026
Si la conformité CLS est obligatoire, définissez ce type dans une autre hiérarchie d’héritage ou dans un autre schéma d’implémentation.
Si le type doit rester au sein de sa hiérarchie d’héritage ou de son schéma d’implémentation actuels, supprimez CLSCompliantAttribute de sa définition ou marquez-le comme
<CLSCompliant(False)>
.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :