“<derivedtypename>”将对类型“<internaltypename>”的访问扩展到 <region>“<regionname>”,因此无法从 <type>“<constructedbasetypename>”继承
更新:2007 年 11 月
派生类或接口试图通过将某个内部类型用作基类或接口的类型参数来扩展该内部类型的访问级别。
以下代码可能会产生此错误。
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
不允许 containingClass 外部的代码访问 internalStructure。但是,可以从同一程序集内的任意代码中访问 derivedClass。因此,如果 derivedClass 使用 internalStructure 作为类型参数,它将无法继承 baseClass,因为那样可能会在整个定义代码区域内公开 internalStructure。
**错误 ID:**BC30921
更正此错误
调整类或接口的访问级别,以使派生类型不会扩展内部类型的访问级别。
- 或 -
如果无法调整访问级别,请不要在构建基类或接口时使用内部类型作为类型参数。