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

Użyj modyfikatorów dostępu, public protected internal,, lub private, aby określić jeden z następujących zadeklarowanych poziomów dostępności dla elementów członkowskich.Use the access modifiers, public, protected, internal, or private, to specify one of the following declared accessibility levels for members.

Zadeklarowane ułatwienia dostępuDeclared accessibility ZnaczenieMeaning
public Dostęp nie jest ograniczony.Access is not restricted.
protected Dostęp jest ograniczony do zawierającej klasy lub typów pochodzących od klasy zawierającej.Access is limited to the containing class or types derived from the containing class.
internal Dostęp jest ograniczony do bieżącego zestawu.Access is limited to the current assembly.
protected internal Dostęp jest ograniczony do bieżącego zestawu lub typów pochodzących od klasy zawierającej.Access is limited to the current assembly or types derived from the containing class.
private Dostęp jest ograniczony do typu zawierającego.Access is limited to the containing type.
private protected Dostęp jest ograniczony do zawierającej klasy lub typów pochodzących od klasy zawierającej w bieżącym zestawie.Access is limited to the containing class or types derived from the containing class within the current assembly. Dostępne od C# 7,2.Available since C# 7.2.

Tylko jeden modyfikator dostępu jest dozwolony dla elementu członkowskiego lub typu, z wyjątkiem tego, protected internal że private protected używane są kombinacje lub.Only one access modifier is allowed for a member or type, except when you use the protected internal or private protected combinations.

Modyfikatory dostępu są niedozwolone w przestrzeniach nazw.Access modifiers are not allowed on namespaces. Przestrzenie nazw nie mają ograniczeń dostępu.Namespaces have no access restrictions.

W zależności od kontekstu, w którym występuje Deklaracja elementu członkowskiego, dozwolone są tylko niektóre zadeklarowane podano.Depending on the context in which a member declaration occurs, only certain declared accessibilities are permitted. Jeśli w deklaracji elementu członkowskiego nie określono modyfikatora dostępu, zostanie użyta domyślna dostępność.If no access modifier is specified in a member declaration, a default accessibility is used.

Typy najwyższego poziomu, które nie są zagnieżdżone w innych typach, mogą mieć internal tylko public dostępność lub ułatwienia dostępu.Top-level types, which are not nested in other types, can only have internal or public accessibility. Domyślną dostępnością dla tych typów jest internal.The default accessibility for these types is internal.

Zagnieżdżone typy, które są elementami członkowskimi innych typów, mogą mieć zadeklarowane podano, jak wskazano w poniższej tabeli.Nested types, which are members of other types, can have declared accessibilities as indicated in the following table.

Elementy członkowskieMembers of Dostępność domyślnego elementu członkowskiegoDefault member accessibility Dozwolone zadeklarowane dostępność elementu członkowskiegoAllowed declared accessibility of the member
enum public BrakNone
class private public

protected

internal

private

protected internal

private protected
interface public BrakNone
struct private public

internal

private

Dostępność typu zagnieżdżonego zależy od jego domeny dostępności, który jest określany przez zadeklarowaną dostępność elementu członkowskiego i domenę dostępności typu natychmiastowego.The accessibility of a nested type depends on its accessibility domain, which is determined by both the declared accessibility of the member and the accessibility domain of the immediately containing type. Jednak domena dostępności typu zagnieżdżonego nie może przekroczyć tego typu zawierającego.However, the accessibility domain of a nested type cannot exceed that of the containing type.

Specyfikacja języka C#C# Language Specification

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#.For more information, see the C# Language Specification. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.The language specification is the definitive source for C# syntax and usage.

Zobacz takżeSee also