Модификаторы доступа в C#
В языке программирования C# все поля, методы и прочие компоненты класса имеют модификаторы доступа. Они дают возможность задавать допустимую область видимости для используемых компонентов класса. Можно сказать, что модификаторы определяют контекст, в котором вы сможете употреблять переменную либо метод.
Существуют следующие модификаторы доступа:
- private. Для закрытого (приватного) компонента класса либо структуры. Такой компонент будет доступен лишь в рамках своего класса/структуры;
- private protected. В случае использования этого модификатора компонент класса будет доступен из любого места, но в своем классе либо в производных классах, определенных в той же сборке;
- protected. В данном случае компонент класса будет доступным из любого места в своем классе либо в производных классах. То есть теперь производные классы смогут располагаться и в других сборках;
- internal. Здесь компоненты класса/структуры станут доступны из любого места программного кода в той же самой сборке, но недоступны для других сборок и программ;
- protected internal. Данный модификатор совмещает в себе функционал 2-х модификаторов: internal и protected. В результате компонент класса будет доступен из любого места в текущей сборке. Кроме того, он будет доступен и из производных классов, располагающихся в других сборках;
- public: это публичный или общедоступный компонент структуры/класса. Он будет доступным из любого места в программном коде, ну и, разумеется, из других сборок и программ.
Также, возможно, вам будет полезна следующая таблица:
По материалам https://metanit.com/sharp/tutorial/.