Реализация класса <имяКласса> для интерфейса <имяИнтерфейса> недоступна в данном контексте, поскольку он имеет уровень доступа <уровеньДоступа>
Обновлен: Ноябрь 2007
Implementing class '<underlyingclassname>' for interface '<interfacename>' is not accessible in this context because it is '<accesslevel>'
Интерфейс, объявленный с CoClassAttribute, указывающим базовый класс, но класс имеет уровень доступа, запрещающий доступ к нему для кода.
Применение CoClassAttribute к интерфейсу связывает базовый класс и интерфейс. Это позволяет коду создавать объект непосредственно из интерфейса с помощью условия New.
Если код, использующий условие New, не имеет доступа к базовому классу, (например, если класс является Private), то компилятор вызовет эту ошибку.
Идентификатор ошибки: BC31109
Чтобы исправить данную ошибку
При наличии возможности управления версиями для базового класса следует изменить уровень доступа к нему таким образом, чтобы он был доступен для кода.
Если по какой-либо причине не удается изменить уровень доступа для базового класса, следует удалить условие New. Нельзя создать объект непосредственно из этого интерфейса.