У меня есть внутренний класс A
, который делает много вещей, и у меня есть набор других классов B
, D
, E
, которые наследуются от класса A
. Конечно, это не сработает, поскольку компилятор будет жаловаться на публичный класс, который не сможет расширить внутренний (см. this для объяснения).Открытый класс расширяет внутренний класс
Я не хочу, чтобы A
был общедоступным, так как я не хочу, чтобы мои пользователи наследовали его. Я хочу, чтобы они использовали только B
, D
, E
.
Я знаю, что могу скрыть класс от Intellisense с помощью [EditorBrowsable(EditorBrowsableState.Never)]
но пользователи могут получить доступ к нему с помощью отражения :(
Есть ли способ, я могу добиться этого?
Почему классы 'B',' D' и 'E' находятся вне сборки' A'? Эта сортировка передает, что 'B, D, E' являются _" пользователями "_ или посторонними, если хотите. Поэтому 'A' должно быть просто публично. – gideon
@gideon Не имеет значения, они могут быть либо у нас. Я просто не хочу выставлять базовый класс – GETah
Вы хотите разрешить наследование от класса к избранным? – hometoast