'<abgeleiteter Typname>' kann nicht von <Typ> '<konstruierte Basistypname>' erben, da er den Zugriff des Typs '<internen Typname>' außerhalb der Assembly erweitert
Eine abgeleitete Klasse oder Schnittstelle versucht, die Zugriffsebene eines eingeschränkten Typs zu erweitern, indem sie diesen als Typargument für eine Basisklasse oder Schnittstelle 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
Code außerhalb der Assembly darf nicht auf die restrictedStructure
zugreifen. Allerdings kann jeder Code auf die derivedClass
zugreifen, der darauf verweisen kann. Daher kann die derivedClass
die baseClass
nicht erben, wenn sie die restrictedStructure
als Typargument verwendet, da auf diese Weise die restrictedStructure
für Code in jeder beliebigen Assembly verfügbar gemacht würde.
Fehler-ID: BC30922
Passen Sie die Zugriffsebenen der Klassen oder Schnittstellen so an, dass der abgeleitete Typ die Zugriffsebene des eingeschränkten Typs nicht erweitert.
Oder
Wenn Sie die Zugriffsebenen nicht anpassen können, verwenden Sie beim Erstellen der Basisklasse oder Schnittstelle den eingeschränkten Typ nicht als Typargument.
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: