La classe d'implémentation '<NomClasseSous-jacente>' pour l'interface '<NomInterface>' n'est pas accessible dans ce contexte, car elle est '<NiveauAccès>'
Mise à jour : novembre 2007
Implementing class '<underlyingclassname>' for interface '<interfacename>' is not accessible in this context because it is '<accesslevel>'
Une interface est déclarée avec CoClassAttribute qui spécifie une classe sous-jacente, mais cette classe a un niveau d'accès qui empêche le code d'utilisation d'y accéder.
L'application de CoClassAttribute à une interface associe une classe sous-jacente à l'interface. Cela permet au code de créer directement un objet à partir de l'interface à l'aide d'une clause New.
Si le code qui utilise la clause New n'a pas accès à la classe sous-jacente, par exemple si la classe a la valeur Private, le compilateur génère cette erreur.
ID d'erreur : BC31109
Pour corriger cette erreur
Si vous disposez d'un contrôle de code source sur la classe sous-jacente, modifiez son niveau d'accès afin que le code d'utilisation puisse y accéder.
Si, pour une raison quelconque, vous ne pouvez pas modifier le niveau d'accès de la classe sous-jacente, supprimez la clause New. Vous ne pouvez pas créer directement un objet à partir de cette interface.
Voir aussi
Concepts
Niveaux d'accès dans Visual Basic