2014-11-07 2 views
5

Как производный класс может вызвать метод из базового класса.
Другие классы не должны иметь доступа, с другой стороны.
Вызов частного базового метода из производного класса в C#

Моя ситуация:
У меня есть базовый класс, в которым я написал частный метод, чтобы зарегистрировать несколько значений.

private void register(string param1, int param2){//...} 

Я сделал это, чтобы подклассы регистрировать разные вещи.
Проблема заключается в том, что производный класс не может получить доступ к закрытым методам или полям базового класса.
Это имеет смысл для меня, так как частные средства ЧАСТНЫЕ.

Я не хочу, чтобы этот метод был общедоступным, потому что другие классы не могли бы вызвать этот метод.
Может ли кто-нибудь предоставить решение или привести меня к лучшему дизайну?

+11

делают это 'protected'? – AlexD

+0

О, мужчина! Я всегда думал, что защищенный запретит доступ из других пакетов. (То есть в Java только я думаю ...) Напишите это как ответ, и я соглашусь с ним. : D –

+1

Нет, это 'internal', вы можете даже объединить два' 'protected internal', который позволяет получить доступ к производным классам и к любому классу в той же сборке. –

ответ

14

Когда вы объявляете что-то личное, только доступный ему класс может получить доступ. Не даже производные классы

Что вам нужно protected

Когда что-то объявлено как protected он может получить доступ к любому производному классу, оставаясь скрытым от других, не связанных классов

Смежные вопросы