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