<Name des abgeleiteten Typs> erweitert den Zugriff von Typ '<Name des internen Typs>' außerhalb der Assembly 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>' outside the assembly
Eine abgeleitete Klasse oder Schnittstelle versucht, die Zugriffsebene eines eingeschränkten 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 baseClass(Of t)
End Class
Public Class derivedClass
Inherits baseClass(Of restrictedStructure)
End Class
Friend Structure restrictedStructure
Dim firstMember As Integer
End Structure
Der Zugriff von Code außerhalb der Assembly auf restrictedStructure ist nicht zulässig. Jedoch ist der Zugriff auf derivedClass durch jeden Code zulässig, der auf sie verweisen kann. Daher kann derivedClass nicht baseClass erben, wenn sie als Argumenttyp restrictedStructure verwendet, weil hierdurch restrictedStructure für Code in jeder Assembly verfügbar gemacht werden kann.
Fehler-ID: BC30922
So beheben Sie diesen Fehler
Ändern Sie die Zugriffsebenen der Klassen oder Schnittstellen, sodass der abgeleitete Typ nicht die Zugriffsebene des eingeschränkten Typs erweitert.
– oder –
Wenn Sie die Zugriffsebenen nicht ändern können, verwenden Sie den eingeschränkten Typ nicht als Typargument beim Erstellen der Basisklasse oder Basisschnittstelle.
Siehe auch
Konzepte
Zugriffsebenen in Visual Basic
Generische Typen in Visual Basic