Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una clase o interfaz derivada intenta ampliar el nivel de acceso de un tipo interno. Para ello, lo usa como un argumento de tipo para una clase base o una interfaz.
El código siguiente puede generar este error.
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
El código situado fuera de containingClass no tiene permitido acceder a internalStructure. Sin embargo, se puede acceder a derivedClass desde cualquier código del mismo ensamblado. Por lo tanto, derivedClass no puede heredar baseClass si usa internalStructure como un argumento de tipo, porque podría exponer internalStructure en toda la región de código de definición.
Identificador de error: BC30921
Para corregir este error
Ajuste los niveles de acceso de las clases o las interfaces para que el tipo derivado no amplíe el nivel de acceso del tipo interno.
O bien
Si no puede ajustar los niveles de acceso, no use el tipo interno como argumento de tipo al construir la clase base o la interfaz.