spooky_2020
@spooky_2020
А меня Сережа зовут.

Как обойти «Несогласованность по доступности» в публичном классе используя в нем приватные классы?

В библиотеке классов у меня есть публичный класс, он использует вспомогательные (вложенные) классы,
которые не должны быть видны вне библиотеки, при этом я бы хотел иметь возможность наследовать этот
публичный класс, для этого поля (в которых хранятся служебные, вспомогательные классы) я хотел сделать
protected, но появляется предупреждение от IDE
Ошибка CS0052
Несогласованность по доступности: 
    доступность типа поля "List<TypeName>" ниже доступности поля "TypeName.propname"

Я понимаю что наследование дает возможность во внешнем коде получить доступ к служебным классам сборки.
Как можно сделать что бы публичные классы можно было наследовать только внутри библиотеки, а при доступе
снаружи они были бы "запечатанными", без возможности наследования?

P.S.
Делать прослойку из геттеров не хотелось бы.
  • Вопрос задан
  • 114 просмотров
Решения вопроса 2
Ответ написан
Комментировать
vabka
@vabka Куратор тега C#
Токсичный шарпист
Кажется, вам нужен protected internal
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы