Partager via


<SignatureProcédure1> n'est pas conforme au CLS, car il surcharge <SignatureProcédure2> dont il diffère uniquement par un tableau de types de paramètres tableau ou par la dimension des types de paramètres tableau.

Mise à jour : novembre 2007

<proceduresignature1> is not CLS-compliant because it overloads <proceduresignature2> which differs from it only by array of array parameter types or by the rank of the array parameter types

Une procédure ou une propriété est marquée comme <CLSCompliant(True)> lorsqu'elle substitue une autre procédure ou propriété et que la seule différence entre leurs listes de paramètres est le niveau d'imbrication d'un tableau en escalier ou le rang d'un tableau.

Dans les déclarations suivantes, les deuxième et troisième déclarations génèrent cette erreur.

Overloads Sub processArray(ByVal arrayParam() As Integer)

Overloads Sub processArray(ByVal arrayParam()() As Integer)

Overloads Sub processArray(ByVal arrayParam(,) As Integer)

La deuxième déclaration remplace le paramètre unidimensionnel d'origine arrayParam par un tableau de tableaux. La troisième déclaration remplace arrayParam par un tableau à deux dimensions (rang 2). Bien que Visual Basic autorise les surcharges à différer uniquement par l'une de ces modifications, une telle surcharge n'est pas conforme au Spécification CLS (Common Language Specification) (CLS).

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

Pour corriger cette erreur

  • Si la conformité CLS est requise, définissez vos surcharges pour qu'elles diffèrent les unes des autres autrement que par les seules modifications mentionnées dans cette page d'aide.

  • Si les surcharges doivent différer uniquement par les modifications mentionnées dans cette page d'aide, supprimez CLSCompliantAttribute de leurs définitions ou marquez-les comme <CLSCompliant(False)>.

Voir aussi

Concepts

Écriture d'un code conforme CLS

Surcharge de procédure

Référence

Overloads