Zugriffsebenen (C#-Referenz)
Mit den Zugriffsmodifizierern public, protected, internal oder private kann einer der folgenden deklarierten Zugriffsebenen 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. |
protected internal |
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 |
None |
class |
private |
public protected internal private protected internal |
interface |
public |
None |
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 der C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.
Siehe auch
Referenz
Zugriffsmodifizierer (C#-Referenz)
Einschränkungen bei der Verwendung von Zugriffsebenen (C#-Referenz)
Zugriffsmodifizierer (C#-Programmierhandbuch)