Hjälpmedelsnivåer (C#-referens)
Använd åtkomstmodifierarna , public
, protected
, internal
eller 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.