Zugriffsebenen (C#-Referenz)Accessibility Levels (C# Reference)

Verwenden Sie die Zugriffsmodifizierer öffentlich, geschützt, intern oder privat, um eine der folgenden deklarierten Zugriffsebenen für Member anzugeben.Use the access modifiers, public, protected, internal, or private, to specify one of the following declared accessibility levels for members.

Deklarierter ZugriffDeclared accessibility BedeutungMeaning
public Der Zugriff ist nicht beschränkt.Access is not restricted.
protected Der Zugriff ist auf die enthaltende Klasse oder auf Typen beschränkt, die von der enthaltenden Klasse abgeleitet sind.Access is limited to the containing class or types derived from the containing class.
internal Der Zugriff ist auf die aktuelle Assembly beschränkt.Access is limited to the current assembly.
protected internal Der Zugriff ist auf die aktuelle Assembly oder auf Typen beschränkt, die von der enthaltenden Klasse abgeleitet sind.Access is limited to the current assembly or types derived from the containing class.
private Der Zugriff ist auf die enthaltende Klasse beschränkt.Access is limited to the containing type.
private protected Der Zugriff ist auf die enthaltende Klasse oder auf Typen beschränkt, die von der enthaltenden Klasse innerhalb der aktuellen Assembly abgeleitet sind.Access is limited to the containing class or types derived from the containing class within the current assembly. Verfügbar seit C# 7.2.Available since C# 7.2.

Es ist nur ein Zugriffsmodifizierer für einen Member oder Typ zulässig, außer wenn Sie die protected internal- oder private protected-Kombination verwenden.Only one access modifier is allowed for a member or type, except when you use the protected internal or private protected combinations.

Zugriffsmodifizierer sind bei Namespaces nicht zulässig.Access modifiers are not allowed on namespaces. Namespaces haben uneingeschränkten Zugriff.Namespaces have no access restrictions.

Abhängig vom Kontext einer Memberdeklaration sind nur bestimmte deklarierte Zugriffe zulässig.Depending on the context in which a member declaration occurs, only certain declared accessibilities are permitted. Wenn in einer Memberdeklaration kein Zugriffsmodifizierer angegeben ist, wird ein Standardzugriff verwendet.If no access modifier is specified in a member declaration, a default accessibility is used.

Typen der obersten Ebene, die nicht in anderen Typen geschachtelt sind, können nur Zugriff der Art internal oder public haben.Top-level types, which are not nested in other types, can only have internal or public accessibility. Der Standardzugriff für diese Typen ist internal.The default accessibility for these types is internal.

Geschachtelte Typen, die Member von anderen Typen sind, können deklarierte Zugriffe haben, wie in der folgenden Tabelle angegeben.Nested types, which are members of other types, can have declared accessibilities as indicated in the following table.

Member vonMembers of Standard-MemberzugriffDefault member accessibility Zulässiger deklarierter Zugriffstyp des MembersAllowed declared accessibility of the member
enum public KeineNone
class private public

protected

internal

private

protected internal

private protected
interface public KeineNone
struct private public

internal

private

Der Zugriff auf einen geschachtelten Typ hängt von seiner Zugriffsdomäne ab, die sowohl durch den deklarierten Zugriffstyp des Members als auch durch die Zugriffsdomäne des direkt enthaltenden Typs bestimmt wird.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. Die Zugriffsdomäne eines geschachtelten Typs kann jedoch nicht über die des enthaltenden Typs hinausgehen.However, the accessibility domain of a nested type cannot exceed that of the containing type.

C#-ProgrammiersprachenspezifikationC# Language Specification

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auchSee Also

C#-ReferenzC# Reference
C#-ProgrammierhandbuchC# Programming Guide
C#-SchlüsselwörterC# Keywords
ZugriffsmodifiziererAccess Modifiers
ZugriffsdomäneAccessibility Domain
Einschränkungen bei der Verwendung von ZugriffsebenenRestrictions on Using Accessibility Levels
ZugriffsmodifiziererAccess Modifiers
publicpublic
privateprivate
protectedprotected
internalinternal