Die implementierende <Name der zugrunde liegenden Klasse>-Klasse für die <Schnittstellenname>-Schnittstelle ist '<Zugriffsebene>' und in diesem Kontext nicht zugreifbar

Aktualisiert: November 2007

Implementing class '<underlyingclassname>' for interface '<interfacename>' is not accessible in this context because it is '<accesslevel>'

Eine Schnittstelle ist mit dem CoClassAttribute deklariert, das eine zugrunde liegende Klasse angibt, doch die Zugriffsebene der Klasse verhindert den Zugriff von Anwendungscode auf die Klasse.

Durch Anwenden von CoClassAttribute auf eine Schnittstelle wird der Schnittstelle eine zugrunde liegende Klasse zugeordnet. Dies ermöglicht es Code, mit einer New-Klausel ein Objekt direkt aus der Schnittstelle zu erstellen.

Wenn der die New-Klausel verwendende Code über keinen Zugriff auf die zugrunde liegende Klasse verfügt, z. B. bei einer Klasse, die Private ist, generiert der Compiler diesen Fehler.

Fehler-ID: BC31109

So beheben Sie diesen Fehler

  1. Wenn Sie über die Quellcodeverwaltung der zugrunde liegenden Klasse verfügen, ändern Sie die Zugriffsebene, sodass Anwendungscode darauf zugreifen kann.

  2. Wenn Sie die Zugriffsebene der zugrunde liegenden Klasse aus irgendeinem Grund nicht ändern können, entfernen Sie die New-Klausel. Sie können kein Objekt direkt aus dieser Schnittstelle erstellen.

Siehe auch

Konzepte

Zugriffsebenen in Visual Basic

Referenz

CoClassAttribute

New (Visual Basic)