<Name des abgeleiteten Typs> erweitert den Zugriff des <Name des internen Typs>-Typs auf <Bereich> '<Bereichsname>' und kann daher nicht von <Typ> '<Name des erstellten Basistyps>' erben
Aktualisiert: November 2007
'<derivedtypename>' cannot inherit from <type> '<constructedbasetypename>' because it expands the access of type '<internaltypename>' to <region> '<regionname>'
Eine abgeleitete Klasse oder Schnittstelle versucht, die Zugriffsebene eines internen Typs zu erweitern, indem sie ihn als Typargument für eine Basisklasse oder Basisschnittstelle verwendet.
Dieser Fehler kann durch folgenden Code generiert werden.
Public Class containingClass
Public Class baseClass(Of t)
End Class
Friend Class derivedClass
Inherits baseClass(Of internalStructure)
End Class
Private Structure internalStructure
Dim firstMember As Integer
End Structure
End Class
Der Zugriff von Code außerhalb von containingClass auf internalStructure ist nicht zulässig. Auf derivedClass kann jedoch jeder Code in derselben Assembly zugreifen. Daher kann derivedClass nicht baseClass erben, wenn sie als Typargument internalStructure verwendet, weil hierdurch internalStructure im gesamten definierenden Codebereich verfügbar gemacht werden kann.
Fehler-ID: BC30921
So beheben Sie diesen Fehler
Ändern Sie die Zugriffsebenen der Klassen oder Schnittstellen, sodass der abgeleitete Typ nicht die Zugriffsebene des internen Typs erweitert.
– oder –
Wenn Sie die Zugriffsebenen nicht ändern können, verwenden Sie den internen Typ nicht als Typargument beim Erstellen der Basisklasse oder Basisschnittstelle.
Siehe auch
Konzepte
Zugriffsebenen in Visual Basic
Generische Typen in Visual Basic