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

public - тип або член типу повністю доступний. Елементи перерахувань (enum) або члени інтерфейсу завжди мають такий доступ.

internal - тип буде доступний лише в рамках однієї збірки.

private - член типу доступний лише в рамках цього типу, тобто він прихований від всіх зовнішніх типів. По замовчуванню всі члени мають такий режим доступу.

protected - член класу є доступним лише в рамках цього класу, або всередині класу який від нього наслідується.

protected internal - елемент класу C, який знаходиться в збірці A доступний лише в межах C, в межах класу який наслідується від С, або в рамках збірки A. Тобто коротко він означає protected або internal, а не protected і internal

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

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