C Sharp/Модифікатори доступу

C Sharp. Відповідно до парадигми про інкапсуляції, тип або член типу (тобто поле, функція та ін.) може приховати себе від інших типів або інших збірок, використавши один з наступних п'яти модифікаторів доступу до декларації:

  • public - тип або член типу повністю доступний. Елементи перерахувань (enum) або члени інтерфейсу завжди мають такий доступ.
  • internal - тип буде доступний лише в рамках однієї збірки.
  • private - член типу доступний лише в рамках цього типу, тобто він прихований від всіх зовнішніх типів. По замовчуванню всі члени мають такий режим доступу.
  • protected - член класу є доступним лише в рамках цього класу, або всередині класу який від нього наслідується.
  • protected internal - елемент класу C, який знаходиться в збірці A доступний лише в межах C, в межах класу який наслідується від С, або в рамках збірки A. Тобто коротко він означає protected або internal, а не protected і internal

Обмеження при використанні модифікаторів доступуРедагувати

Тип або його член не можуть об'явити більш широкі права доступу до себе, ніж будь-який інший тип який він використовує у власній декларації. Наприклад, клас не може мати модифікатор public, якщо він наслідується від класу internal.