'<derivedtypename>' não pode herdar de <type>'<constructedbasetypename>' porque expande o acesso do tipo '<internaltypename>' fora do assembly
Uma classe derivada ou interface tenta expandir onível de acesso de um tipo restrito usando-o como um argumento de tipo a uma classe base ou interface.
O código a seguir pode gerar este tipo de erro.
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
Código fora do assembly não é pemitido que acesse restrictedStructure.Entretanto, derivedClass pode ser acessado de qualquer código que pode fazer referência a ele.Por isso, derivedClass não pode herdar baseClass se este usa restrictedStructure como um argumento de tipo, porque aquilo poderia expor restrictedStructure a código em qualquer assembly.
ID de erro: BC30922
Para corrigir este erro
Ajuste os níveis de acesso das classes ou intefaces de modo que o tipo derivaod não expanda o nível de acesso do tipo restrito.
- ou -
Se você não pode ajustar os níveis de acesso, não use o tipo restrito como um argumento de tipo quando construir a classe base ou interface.
Consulte também
Conceitos
Níveis de acesso em Visual Basic
Tipos genéricos no Visual Basic