Le type de membre '<NomMembre>' n'est pas conforme CLS

Mise à jour : novembre 2007

Type of member '<membername>' is not CLS-compliant

Le type de données spécifié pour ce membre ne fait pas partie du Spécification CLS (Common Language Specification) (CLS). Cette erreur ne provient pas de votre composant, parce que le .NET Framework et Visual Basic prennent en charge ce type de données. Toutefois, il est possible qu'un autre composant écrit dans le code strictement conforme CLS ne prenne pas en charge ce type de données. Ce composant peut ne pas interagir avec succès avec votre composant.

Les types de données Visual Basic suivants ne sont pas conformes CLS :

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

Pour corriger cette erreur

  • Si votre composant sert d'interface uniquement avec d'autres composants du .NET Framework, ou ne sert pas d'interface avec d'autres composants, aucune modification n'est nécessaire.

  • Si vous utilisez un composant non écrit pour le .NET Framework, vous pouvez déterminer, par réflexion ou à partir de la documentation, s'il prend en charge ce type de données. Si tel est le cas, aucune modification n'est nécessaire.

  • Si vous utilisez un composant qui ne prend pas en charge ce type de données, vous devez le remplacer par le type conforme CLS le plus proche. Par exemple, vous pouvez utiliser Integer au lieu de UInteger si vous n'avez pas besoin de la plage de valeurs située au-dessus de 2 147 483 647. Si vous avez besoin de la plage étendue, vous pouvez remplacer UInteger par Long.

  • Si vous utilisez des objets Automation ou COM, n'oubliez pas que certains types ont des largeurs de données différentes de celles dans le .NET Framework. Par exemple, uint correspond souvent à 16 bits dans d'autres environnements. Si vous passez un argument de 16 bits à un tel composant, déclarez-le comme type de données UShort et non comme UInteger dans votre code Visual Basic managé.

Voir aussi

Concepts

Vue d'ensemble de la réflexion

Écriture d'un code conforme CLS

Autres ressources

Réflexion