<имяПроизводногоТипа> не может наследоваться от <тип> <имяСконструированногоБазовогоТипа>, поскольку он расширяет доступ типа <имяВнутреннегоТипа> за пределы сборки
Обновлен: Ноябрь 2007
'<derivedtypename>' cannot inherit from <type> '<constructedbasetypename>' because it expands the access of type '<internaltypename>' outside the assembly
Производный класс или интерфейс пытается расширить уровень доступа ограниченного типа при помощи использования его в качестве аргумента типа для базового класса или интерфейса.
Следующий код может вызвать эту ошибку.
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
Для кода за пределами сборки не разрешен доступ restrictedStructure. Однако к derivedClass доступ может осуществляться из любого кода, который может на его ссылаться. Таким образом, derivedClass не может наследовать baseClass, если он использует restrictedStructure в качестве аргумента типа, поскольку это сделает видимой restrictedStructure для кода в любой сборке.
Идентификатор ошибки: BC30922
Исправление этой ошибки
Измените уровни доступа классов или интерфейсов таким образом, чтобы производный тип не расширял уровень доступа ограниченного типа.
либо
Если не удается настроить уровни доступа, то не используйте ограниченные типы в качестве аргумента типа при создании базового класса или интерфейса.
См. также
Основные понятия
Универсальные типы в Visual Basic