В типе можно определить следующие члены:
-
константы
-
поля
-
конструктор экземпляра
-
конструктор типа
-
метод
-
перегруженный оператор
-
оператор преобразования
-
свойство
-
событие
-
другие типы
Определено шесть модификаторов доступа для членов типа:
| CLR | C# | Описание |
|---|---|---|
| Private(закрытый) | private | Доступен только методам в определяющем типе и вложенных в него типах |
| Family(родовой) | protected | Доступен только методам в определяющем типе или в одном из его производных типов независимо от сборки |
| Family and Assembly | Доступен только методам в определяющем типе и производных типах в определяющих типах | |
| Assembly(сборочный) | internal | Доступен только методам в определяющей сборке |
| Assembly and Family | protected internal | Доступен только методам вложенного типа, производного типа и любым методам определяющей сборки |
| Public | public | Доступен всем методам во всех сборках |
Если модификатор доступа явно не указан, компилятор выберет по умолчанию закрытый.
Члены интерфейса можно определять как приватные, внутренние, защищенные и статические. Неявно каждый член интерфейса без ключевого слова - публичный.