Поделиться через


<имяЧлена> не может представлять тип <имяТипа> вне проекта посредством <типКонтейнера> <имяТипаКонтейнера>

Обновлен: Ноябрь 2007

'<membername>' cannot expose type '<typename>' outside the project through <containertype> '<containertypename>'

Переменная, параметр процедуры или возврата функции предоставляется вне контейнера, но является типом, который может быть предоставлен вне контейнера.

Следующий код демонстрирует ситуацию, в которой создается эта ошибка.

Private Class privateClass
End Class
Public Class mainClass
    Public exposedVar As New privateClass
End Class

Тип, объявленный как Protected, Friend, Protected Friend или Private должен иметь ограниченный доступ вне контекста его объявления. Использование его в качестве типа данных переменной с менее ограниченным доступом не приведет к достижению этой цели. В приведенном выше коде exposedVar является Public, и предоставит privateClass коду, который не должен иметь к нему доступа.

Идентификатор ошибки: BC30909

Исправление этой ошибки

  • Измените уровень доступа к переменной, параметру процедуры или параметру, который возвращает функция, ограничив его по крайней мере уровнем доступа его типа данных.

См. также

Основные понятия

Уровни доступа в Visual Basic