Share via


Hjälpmedelsnivåer (C#-referens)

Använd åtkomstmodifierarna , public, protected, internaleller private, för att ange någon av följande deklarerade tillgänglighetsnivåer för medlemmar.

Deklarerad tillgänglighet Innebörd
public Åtkomsten är inte begränsad.
protected Åtkomsten är begränsad till den innehållande klassen eller typerna som härleds från den innehållande klassen.
internal Åtkomsten är begränsad till den aktuella sammansättningen.
protected internal Åtkomsten är begränsad till den aktuella sammansättningen eller typerna som härleds från den innehållande klassen.
private Åtkomsten är begränsad till den innehållande typen.
private protected Åtkomsten är begränsad till den innehållande klassen eller typerna som härleds från den innehållande klassen i den aktuella sammansättningen.

Endast en åtkomstmodifierare tillåts för en medlem eller typ, förutom när du använder protected internal kombinationerna eller private protected .

Åtkomstmodifierare tillåts inte på namnområden. Namnområden har inga åtkomstbegränsningar.

Beroende på i vilken kontext en medlemsdeklaration inträffar är endast vissa deklarerade åtkomstmöjligheter tillåtna. Om ingen åtkomstmodifierare anges i en medlemsdeklaration används en standardtillgänglighet.

Toppnivåtyper, som inte är kapslade i andra typer, kan bara ha internal eller public hjälpmedel. Standardtillgängligheten för dessa typer är internal.

Kapslade typer, som är medlemmar av andra typer, kan ha deklarerat åtkomstmöjligheter som anges i följande tabell.

Medlemmar i Standardtillgänglighet för medlemmar Tillåten deklarerad tillgänglighet för medlemmen
enum public Ingen
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

* En interface medlem med private hjälpmedel måste ha en standardimplementering.

Kommentar

Om en klass eller struct ändras med nyckelordsmodifieraren record tillåts samma åtkomstmodifierare.
record Med modifieraren är standardmedlemstillgängligheten fortfarande private både för klassen och structen.

Tillgängligheten för en kapslad typ beror på dess tillgänglighetsdomän, vilket bestäms av både medlemmens deklarerade tillgänglighet och tillgänglighetsdomänen för den omedelbart innehållande typen. Tillgänglighetsdomänen för en kapslad typ får dock inte överskrida den som innehåller typen.

Språkspecifikation för C#

Mer information finns i C#-språkspecifikationen. Språkspecifikationen är den slutgiltiga källan för C#-syntax och -användning.

Se även