Zugriffsebenen (C#-Referenz)

Aktualisiert: November 2007

Mit den Zugriffsmodifizierern public, protected, internal oder private kann einer der folgenden deklarierten Zugriffe für Member angegeben werden:

Deklarierter Zugriff

Bedeutung

public

Der Zugriff ist nicht eingeschränkt.

protected

Der Zugriff ist auf die enthaltende Klasse oder die von der enthaltenden Klasse abgeleiteten Typen begrenzt.

internal

Der Zugriff ist auf die aktuelle Assembly begrenzt.

protectedinternal

Der Zugriff ist auf die aktuelle Assembly oder die von der enthaltenden Klasse abgeleiteten Typen begrenzt.

private

Der Zugriff ist auf den enthaltenden Typ begrenzt.

Für einen Member oder einen Typ ist nur ein Zugriffsmodifizierer zulässig, außer bei Verwendung der protected-internal-Kombination.

Zugriffsmodifizierer sind für Namespaces nicht zulässig. Namespaces weisen keine Zugriffsbeschränkungen auf.

Abhängig vom Kontext einer Memberdeklaration sind nur bestimmte deklarierte Zugriffe zulässig. Wenn in einer Memberdeklaration kein Zugriffsmodifizierer angegeben ist, wird ein Standardzugriff verwendet.

Typen der obersten Ebene, die nicht in anderen Typen geschachtelt sind, können lediglich über internal-Zugriff oder public-Zugriff verfügen. Der Standardzugriff auf diese Typen ist internal.

Geschachtelte Typen, die Member anderer Typen darstellen, können über deklarierte Zugriffe verfügen, wie in der nachstehenden Tabelle angegeben:

Member von

Standardmemberzugriff

Zulässiger deklarierter Memberzugriff

enum

public

Keine

class

private

public

protected

internal

private

protectedinternal

interface

public

Keine

struct

private

public

internal

private

Der Zugriff eines geschachtelten Typs hängt von seiner Zugriffsdomäne ab, die sowohl durch den deklarierten Zugriff des Members als auch durch die Zugriffsdomäne des unmittelbar enthaltenden Typs bestimmt wird. Die Zugriffsdomäne eines geschachtelten Typs kann jedoch nicht über die des enthaltenden Typs hinausgehen.

C#-Programmiersprachenspezifikation

Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:

  • 3.5.1 Deklarierter Zugriff

  • 3.5.3 Geschützter Zugriff auf Instanzmember

  • 3.5.4 Zugriffsbeschränkungen

  • 10.3.5 Zugriffsmodifizierer

  • 10.3.8.2 Deklarierter Zugriff

Siehe auch

Konzepte

C#-Programmierhandbuch

Referenz

C#-Schlüsselwörter

Zugriffsmodifizierer (C#-Referenz)

Zugriffsdomäne (C#-Referenz)

Einschränkungen bei der Verwendung von Zugriffsebenen (C#-Referenz)

Zugriffsmodifizierer (C#-Programmierhandbuch)

public (C#-Referenz)

private (C#-Referenz)

protected (C#-Referenz)

internal (C#-Referenz)

Weitere Ressourcen

C#-Referenz