Úrovně přístupnosti (Referenční dokumentace jazyka C#)
Pomocí modifikátorů přístupu , , public
, internal
protected
nebo 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í internal
public
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#.