Le membre 'MustOverride' non conforme CLS n'est pas autorisé dans un <NomClasse> conforme CLS

Mise à jour : novembre 2007

Non-CLS-compliant 'MustOverride' member is not allowed in a CLS-compliant <classname>

Une classe est marquée comme <CLSCompliant(True)>, mais elle contient une propriété ou une procédure MustOverride qui est marquée comme <CLSCompliant(False)> ou qui n'est pas marquée.

Lorsqu'une classe est conforme au Spécification CLS (Common Language Specification) (CLS), une application qui l'utilise accède uniquement aux membres qui sont également marqués comme <CLSCompliant(True)> et ignore les membres qui ne le sont pas. Toutefois, l'application ne peut pas ignorer une propriété ou une procédure MustOverride, car elle doit y accéder pour la substituer.

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

Pour corriger cette erreur

  • Si la conformité CLS est requise et si vous avez le contrôle du code source de la classe, marquez le membre comme <CLSCompliant(True)>.

  • Si la conformité CLS est requise et si vous n'avez pas le contrôle du code source de la classe ou si elle n'est pas considérée comme conforme, définissez ce membre dans une autre classe.

  • Si ce membre doit rester non conforme, supprimez le mot clé MustOverride de sa définition, supprimez CLSCompliantAttribute de la définition de la classe ou marquez la classe comme <CLSCompliant(False)>.

Voir aussi

Concepts

Écriture d'un code conforme CLS

Référence

MustOverride