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
Referenz
Zugriffsmodifizierer (C#-Referenz)
Einschränkungen bei der Verwendung von Zugriffsebenen (C#-Referenz)
Zugriffsmodifizierer (C#-Programmierhandbuch)