Доступ к закрытым членам из других классов

1

В Java, если два класса определены внутри одного класса верхнего уровня, они имеют доступ к каждому другому частному члену (полям, конструкторам, методам). Поэтому в ситуации, подобной следующей, вы можете использовать всех частных членов ClassA внутри ClassB и наоборот.

public class TopLevelClass {

     private static class ClassA {
         // Code omitted
     }

     private static class ClassB {
         // Code omitted
     }
 }

Можете ли вы сделать что-нибудь подобное в С#?

Теги:
private

1 ответ

2
Лучший ответ

Даже с вложенными классами в С# два отдельных (не вложенных друг в друга) класса не могут обращаться к другим частным членам (даже если они разделяют родителя). Тем не менее они могут обращаться к закрытым членам родительского класса.

Вы можете получить доступ к частным членам, используя рефлексию, если вам действительно нужно, хотя, конечно, если вам нужен доступ к ним, они, вероятно, не должны быть private в первую очередь.

Подробнее см. Вложенные типы.

  • 0
    Неужели даунвотер захочет это прокомментировать?
  • 0
    Спасибо. Я думал, что это был ответ - я просто хотел подтверждения. Один из подходов, который я считаю действительно полезным в Java, - это написание вспомогательных классов, которые могут использоваться только для класса верхнего уровня, в котором они определены. Для этих классов я могу просто сделать все приватным и не беспокоиться о написании методов доступа ,
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню