Delen via


Toegankelijkheidsniveaus (C#-verwijzing)

Gebruik de toegangsmodifiers, publicof protectedinternal geef een van de volgende gedeclareerde toegankelijkheidsniveaus privateop voor leden.

  • public: De toegang is niet beperkt.
  • protected: De toegang is beperkt tot de klasse of typen die zijn afgeleid van de betreffende klasse.
  • internal: De toegang is beperkt tot de huidige assembly.
  • protected internal: De toegang is beperkt tot de huidige assembly of typen die zijn afgeleid van de klasse die deze bevat.
  • private: De toegang is beperkt tot het type dat het bevat.
  • private protected: De toegang is beperkt tot de klasse of typen die zijn afgeleid van de klasse die is afgeleid van de klasse in de huidige assembly.

De C#-taalreferentiedocumenten beschrijven de meest recent uitgebrachte versie van de C#-taal. Het bevat ook de eerste documentatie voor functies in openbare previews voor de aanstaande taalrelease.

De documentatie identificeert alle functies die voor het eerst zijn geïntroduceerd in de laatste drie versies van de taal of in de huidige openbare previews.

Aanbeveling

Raadpleeg het artikel over de versiegeschiedenis van de C#-taal om te achterhalen wanneer een functie voor het eerst is geïntroduceerd in C#.

Typen op het hoogste niveau (niet-geneste) kunnen de bestandsaanpassing gebruiken. De file wijzigingsfunctie beperkt de toegang tot code in hetzelfde bronbestand. U kunt de file wijzigingsfunctie niet combineren met een wijzigingsfunctie voor toegang.

Gebruik slechts één toegangsaanpassing voor een lid of type, behalve wanneer u de protected internal of private protected combinaties gebruikt.

Gebruik geen toegangsaanpassingen voor naamruimten. Naamruimten hebben geen toegangsbeperkingen.

Afhankelijk van de context waarin een liddeclaratie plaatsvindt, zijn alleen bepaalde aangegeven toegangsbiliteiten toegestaan. Als u geen toegangsmodifier opgeeft in een liddeclaratie, wordt een standaardtoegankelijkheidsfunctie gebruikt.

Typen op het hoogste niveau, die niet zijn genest in andere typen, kunnen alleen of internal toegankelijkheid hebbenpublic. 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.

Opmerking

Als u een klasse of struct wijzigt met de record wijziging van trefwoorden, gebruikt u dezelfde toegangsaanpassingen. Met de record wijzigingsfunctie is de standaard toegankelijkheid van leden nog steeds private voor zowel klasse als struct.

De toegankelijkheid van een genest type is afhankelijk van het toegankelijkheidsdomein, dat de gedeclareerde toegankelijkheid van het lid en het toegankelijkheidsdomein van het direct bevattende type bepalen. Het toegankelijkheidsdomein van een genest type kan echter niet groter zijn dan dat van het betreffende type.

C#-taalspecificatie

Zie de C#-taalspecificatie voor meer informatie. De taalspecificatie is de definitieve bron voor de C#-syntaxis en het gebruik.

Zie ook