Freigeben über


Barrierefreiheitsstufen (C#-Referenz)

Verwenden Sie die Zugriffsmodifizierer, public, , protected, internaloder private, um eine der folgenden deklarierten Barrierefreiheitsstufen für Member anzugeben.

Deklarierte Barrierefreiheit Bedeutung
public Der Zugriff ist nicht eingeschränkt.
protected Access ist auf die von der enthaltenden Klasse abgeleiteten Klassen oder Typen beschränkt.
internal Der Zugriff ist auf die aktuelle Assembly beschränkt.
protected internal Access ist auf die aktuelle Assembly oder Typen beschränkt, die von der enthaltenden Klasse abgeleitet sind.
private Der Zugriff ist auf den enthaltenden Typ beschränkt.
private protected Access ist auf die enthaltende Klasse oder Typen beschränkt, die von der enthaltenden Klasse innerhalb der aktuellen Assembly abgeleitet sind.

Es ist nur ein Zugriffsmodifizierer für ein Element oder einen Typ zulässig, außer wenn Sie die protected internal Tastenkombinationen private protected verwenden.

Zugriffsmodifizierer sind für Namespaces nicht zulässig. Namespaces haben uneingeschränkten Zugriff.

Abhängig vom Kontext, in dem eine Memberdeklaration auftritt, sind nur bestimmte deklarierte Zugriffe zulässig. Wenn in einer Memberdeklaration kein Zugriffsmodifizierer angegeben ist, wird eine Standardmäßige Barrierefreiheit verwendet.

Typen der obersten Ebene, die nicht in anderen Typen geschachtelt sind, können nur über oder public Barrierefreiheit verfügeninternal. Die Standardmäßige Barrierefreiheit für diese Typen lautet internal.

Geschachtelte Typen, die Member anderer Typen sind, können accessibilities wie in der folgenden Tabelle angegeben deklariert haben.

Mitglieder von Standardmäßige Barrierefreiheit von Membern Zulässige Barrierefreiheit des Mitglieds
enum public Nichts
class private public

protected

internal

private

protected internal

private protected
interface public public

protected

internal

private*

protected internal

private protected
struct private public

internal

private

* Ein interface Mitglied mit private Barrierefreiheit muss über eine Standardimplementierung verfügen.

Hinweis

Wenn eine Klasse oder Struktur mit dem record Schlüsselwortmodifizierer geändert wird, sind dieselben Zugriffsmodifizierer zulässig.
Außerdem gilt mit dem Modifizierer die Barrierefreiheit des record Standardelements sowohl für die Klasse als auch private für die Struktur.

Die Barrierefreiheit eines geschachtelten Typs hängt von der Barrierefreiheitsdomäne ab, die sowohl von der deklarierten Barrierefreiheit des Mitglieds als auch von der Barrierefreiheitsdomäne des unmittelbar enthaltenden Typs bestimmt wird. Die Zugriffsdomäne eines geschachtelten Typs kann jedoch nicht über die des enthaltenden Typs hinausgehen.

C#-Sprachspezifikation

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

Siehe auch