Freigeben über


<Membername> kann den <Typname>-Typ nicht außerhalb des Projekts über <Containertyp> '<Containertypname>' verfügbar machen

Aktualisiert: November 2007

'<membername>' cannot expose type '<typename>' outside the project through <containertype> '<containertypename>'

Eine Variable, ein Prozedurparameter oder eine Funktionsrückgabe wird außerhalb des zugehörigen Containers verfügbar gemacht, ist jedoch als Typ deklariert, der nicht außerhalb des Containers verfügbar gemacht werden darf.

Im folgenden Codeskelett wird eine Situation veranschaulicht, die diesen Fehler generiert.

Private Class privateClass
End Class
Public Class mainClass
    Public exposedVar As New privateClass
End Class

Ein als Protected, Friend, Protected Friend oder Private deklarierter Typ soll außerhalb des Deklarationskontexts eingeschränkten Zugriff aufweisen. Dies ist nicht möglich, wenn er als Datentyp einer Variablen mit weniger eingeschränktem Zugriff verwendet wird. Im vorhergehenden Skelettcode ist exposedVarPublic und macht privateClass für Code verfügbar, der nicht darauf zugreifen soll.

Fehler-ID: BC30909

So beheben Sie diesen Fehler

  • Ändern Sie die Zugriffsebene der Variablen, des Prozedurparameters oder der Funktionsrückgabe in eine Zugriffsebene, die mindestens so restriktiv wie die Zugriffsebene des zugehörigen Datentyps ist.

Siehe auch

Konzepte

Zugriffsebenen in Visual Basic