Naslaginformatie over toegankelijkheidsniveaus (C#)
Gebruik de toegangsaanpassingen, public
, , protected
, internal
of private
, om een van de volgende gedeclareerde toegankelijkheidsniveaus voor leden op te geven.
Toegankelijkheid gedeclareerd | Betekenis |
---|---|
public |
Toegang is niet beperkt. |
protected |
Toegang is beperkt tot de bevatde klasse of typen die zijn afgeleid van de betreffende klasse. |
internal |
Toegang is beperkt tot de huidige assembly. |
protected internal |
Toegang is beperkt tot de huidige assembly of typen die zijn afgeleid van de betreffende klasse. |
private |
Toegang is beperkt tot het betreffende type. |
private protected |
Toegang is beperkt tot de bevatde klasse of typen die zijn afgeleid van de klasse die in de huidige assembly is opgesloten. |
Slechts één toegangsaanpassing is toegestaan voor een lid of type, behalve wanneer u de protected internal
of private protected
combinaties gebruikt.
Toegangsaanpassingen zijn niet toegestaan voor naamruimten. Naamruimten hebben geen toegangsbeperkingen.
Afhankelijk van de context waarin een liddeclaratie plaatsvindt, zijn alleen bepaalde aangegeven toegangsbiliteiten toegestaan. Als er geen toegangsaanpassing is opgegeven in een liddeclaratie, wordt een standaardtoegankelijkheid gebruikt.
Typen op het hoogste niveau, die niet zijn genest in andere typen, kunnen alleen over of public
toegankelijkheid beschikkeninternal
. De standaardtoegankelijkheid voor deze typen is internal
.
Geneste typen, die lid zijn van andere typen, kunnen toegangsrechten hebben gedeclareerd zoals aangegeven in de volgende tabel.
Leden van | Standaardtoegankelijkheid van leden | Toegestane toegankelijkheid van het lid |
---|---|---|
enum |
public |
Geen |
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 |
* Een interface
lid met private
toegankelijkheid moet een standaard implementatie hebben.
Notitie
Als een klasse of struct wordt gewijzigd met de record
wijziging van trefwoorden, zijn dezelfde toegangsaanpassingen toegestaan.
Met de record
wijzigingsfunctie is de standaard toegankelijkheid van leden nog steeds private
zowel voor klasse als voor de struct.
De toegankelijkheid van een genest type is afhankelijk van het toegankelijkheidsdomein, dat wordt bepaald door zowel de gedeclareerde toegankelijkheid van het lid als het toegankelijkheidsdomein van het onmiddellijk met het betreffende type. Het toegankelijkheidsdomein van een genest type mag echter niet groter zijn dan het type dat het bevat.
C#-taalspecificatie
Zie de C#-taalspecificatie voor meer informatie. De taalspecificatie is de definitieve bron voor de C#-syntaxis en het gebruik.