<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.