Poziomy ułatwień dostępu (odwołanie w C#)

Użyj modyfikatorów dostępu, public, protected, internallub private, aby określić jeden z następujących zadeklarowanych poziomów ułatwień dostępu dla członków.

Zadeklarowane ułatwienia dostępu Znaczenie
public Dostęp nie jest ograniczony.
protected Dostęp jest ograniczony do zawierającej klasy lub typów pochodzących z zawierającej klasy.
internal Dostęp jest ograniczony do bieżącego zestawu.
protected internal Dostęp jest ograniczony do bieżącego zestawu lub typów pochodzących z zawierającej klasy.
private Dostęp jest ograniczony do typu zawierającego.
private protected Dostęp jest ograniczony do zawierającej klasy lub typów pochodzących z zawierającej klasy w bieżącym zestawie.

Tylko jeden modyfikator dostępu jest dozwolony dla elementu członkowskiego lub typu, z wyjątkiem sytuacji, w których używasz protected internal kombinacji lub private protected .

Modyfikatory dostępu nie są dozwolone w przestrzeniach nazw. Przestrzenie nazw nie mają ograniczeń dostępu.

W zależności od kontekstu, w którym występuje deklaracja elementu członkowskiego, dozwolone są tylko niektóre zadeklarowane możliwości dostępu. Jeśli w deklaracji elementu członkowskiego nie określono modyfikatora dostępu, zostanie użyta domyślna dostępność.

Typy najwyższego poziomu, które nie są zagnieżdżone w innych typach, mogą mieć internal tylko ułatwienia dostępu lub public . Domyślnym ułatwieniami dostępu dla tych typów jest internal.

Zagnieżdżone typy, które są elementami członkowskimi innych typów, mogą mieć zadeklarowane możliwości dostępu, jak wskazano w poniższej tabeli.

Członkowie Domyślne ułatwienia dostępu do składowych Dozwolone zadeklarowane ułatwienia dostępu elementu członkowskiego
enum public Brak
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

* Element interface członkowski z private ułatwieniami dostępu musi mieć domyślną implementację.

Uwaga

Jeśli klasa lub struktura jest modyfikowana za pomocą modyfikatora słowa kluczowego record , to te same modyfikatory dostępu są dozwolone.
Ponadto przy modyfikatorze record domyślne ułatwienia dostępu składowych są nadal private dostępne zarówno dla klasy, jak i struktury.

Dostępność typu zagnieżdżonego zależy od jego domeny ułatwień dostępu, która jest określana zarówno przez zadeklarowaną dostępność elementu członkowskiego, jak i domenę ułatwień dostępu natychmiast zawierającego typ. Jednak domena ułatwień dostępu typu zagnieżdżonego nie może przekroczyć tego typu zawierającego.

Specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.

Zobacz też