Delen via


Naslaginformatie over toegankelijkheidsniveaus (C#)

Gebruik de toegangsaanpassingen, public, , protected, internalof 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.

Zie ook