« <nom_type_dérivé> » ne peut pas hériter de <type> « <nom_type_base_construit> », car il étend l'accès du type « <nom_type_interne> » à <région> « <nom_région> »
Une classe ou une interface dérivée essaie d’étendre le niveau d’accès d’un type interne en l’utilisant comme argument de type dans une classe ou une interface de base.
Le code suivant peut générer cette erreur.
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
Le code à l’extérieur de containingClass
n’est pas autorisé à accéder à internalStructure
. Toutefois, derivedClass
est accessible à partir de n’importe quel code dans le même assembly. Par conséquent, derivedClass
ne peut pas hériter de baseClass
s’il utilise internalStructure
comme argument de type, car cela peut exposer internalStructure
dans l’ensemble de la région de code de définition.
ID d’erreur : BC30921
Modifiez les niveaux d’accès des classes ou des interfaces afin que le type dérivé n’étende pas le niveau d’accès du type interne.
-ou-
Si vous ne pouvez pas modifier les niveaux d’accès, n’utilisez pas le type interne comme argument de type lors de la construction de la classe ou de l’interface de base.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :