Модификатор доступа | Описание |
public | Член доступен вне определения класса и иерархии производных классов. |
protected | Член невидим за пределами класса, к нему могут обращаться только производные классы. |
private | Член недоступен за пределами области видимости определяющего его класса. Поэтому доступа к этим членам нет даже у производных классов. |
internal | Член видим только в пределах текущей единицы компиляции. Модификатор доступа internals плане ограничения доступа является гибридом public и protected, зависимым от местоположения кода. |
Если вы не хотите оставить модификатор доступа для данного члена по умолчанию
(private),
задайте для него явно модификатор доступа. Этим С# отличается от C++, где член, для которого явно не указан модификатор доступа, принимает на себя характеристики видимости, определяемые модификатором доступа, заданным для предыдущего члена. Например, в приведенном ниже коде на C++ видимость членов
а, Ъ
и
с
определена модификатором
public,
а члены
dvL e
определены
как protected:
class CAccessModsInCpp {
public:
int a;
int b;
int c;
protected: int d; int e; >
Чтобы решить аналогичную задачу на С#, этот код нужно изменить:
class AccessModsInCSharp {
public Int a;
public int b;
public int c;
protected int d;
protected int e; >
В результате выполнения следующего кода на С# член
Ь
объявляется как
private:
public MoreAccessModsInCSharp
<
public int a; int b; }