'<derivedtypename>' não pode herdar de <type>'<constructedbasetypename>' porque expande o acesso do tipo '<internaltypename>' para '<regionname>' <região>
Uma interface ou classe derivada tentativas de expandir o nível de acesso de um tipo interno, usá-lo sistema autônomo um argumento de tipo para uma classe base ou interface.
O código a seguir pode gerar este tipo de erro.
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
Código externo containingClass não tem permissão para acessar internalStructure. No entanto, derivedClass pode ser acessado de qualquer código no mesmo assembly. Portanto, derivedClass não é possível herdar baseClass Se ele usar internalStructure sistema autônomo um argumento de tipo, porque o que pode expor internalStructure em toda a região de código de definição.
ID de erro: BC30921
Para corrigir este erro
Ajuste os níveis de acesso das interfaces ou classes para que o tipo derivado não expande o nível de acesso do tipo interno.
- ou -
Se você não pode ajustar sistema autônomo níveis de acesso, não use o tipo interno sistema autônomo um argumento de tipo ao construir a classe base ou interface.
Consulte também
Conceitos
Níveis de acesso em Visual Basic
Tipos genéricos no Visual Basic