Úrovně přístupnosti (Referenční dokumentace jazyka C#)

Pomocí modifikátorů přístupu , , public, internalprotectednebo private, zadejte jednu z následujících deklarovaných úrovní přístupnosti pro členy.

Deklarovaná přístupnost Význam
public Přístup není omezený.
protected Access je omezen na obsahující třídu nebo typy odvozené z obsahující třídy.
internal Aplikace Access je omezena na aktuální sestavení.
protected internal Aplikace Access je omezena na aktuální sestavení nebo typy odvozené z obsahující třídy.
private Aplikace Access je omezena na typ obsahující.
private protected Aplikace Access je omezena na obsahující třídu nebo typy odvozené z obsahující třídy v rámci aktuálního sestavení.

Pro člen nebo typ je povolen pouze jeden modifikátor přístupu, s výjimkou případů, kdy použijete protected internal kombinaci.private protected

Modifikátory přístupu nejsou u oborů názvů povoleny. Obory názvů nemají žádná omezení přístupu.

V závislosti na kontextu, ve kterém dochází k deklaraci člena, jsou povoleny pouze některé deklarované přístupové závislosti. Pokud v deklaraci členu není zadán žádný modifikátor přístupu, použije se výchozí přístupnost.

Typy nejvyšší úrovně, které nejsou vnořené do jiných typů, můžou mít nebo mají internalpublic jenom přístupnost. Výchozí přístupnost pro tyto typy je internal.

Vnořené typy, které jsou členy jiných typů, mohou deklarovat přístupové znaménka, jak je uvedeno v následující tabulce.

Členové Výchozí přístupnost člena Povoleno deklarované přístupnosti člena
enum public Nic
class private public

protected

internal

private

protected internal

private protected
interface public public

protected

internal

private*

protected internal

private protected
struct private public

internal

private

* Člen interface s private přístupností musí mít výchozí implementaci.

Poznámka:

Pokud je třída nebo struktura změněna modifikátorem klíčového record slova, jsou povoleny stejné modifikátory přístupu.
Také s modifikátorem record výchozí přístupnost členu je stále private pro třídu i strukturu.

Přístupnost vnořeného typu závisí na jeho doméně přístupnosti, která je určena deklarovanou přístupností člena i doménou přístupnosti bezprostředně obsahujícího typu. Doména přístupnosti vnořeného typu však nemůže překročit doménu obsahujícího typu.

Specifikace jazyka C#

Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.

Viz také