Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het private trefwoord is een toegangsmodificator.
In dit artikel wordt toegang behandeld
private. Hetprivatetrefwoord maakt ook deel uit van deprivate protectedtoegangsaanpassing.
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#.
Privétoegang is het minst missieve toegangsniveau. U hebt alleen toegang tot privéleden binnen de hoofdtekst van de klas of de struct waarin u ze declareert, zoals wordt weergegeven in het volgende voorbeeld:
class Employee
{
private int _i;
double _d; // private access by default
}
Geneste typen in dezelfde hoofdtekst hebben ook toegang tot deze privéleden.
Als u verwijst naar een privélid buiten de klasse of de struct waar u deze declareert, retourneert de compiler een fout.
Zie private en toegangsmodifiers voor een vergelijking van de andere toegangsmodifiers.
In dit voorbeeld bevat de Employee klasse twee persoonlijke gegevensleden en _name_salary. Als privéleden zijn lidmethoden de enige manier om ze te openen. In het voorbeeld worden openbare methoden toegevoegd met de naam GetName en Salary om gecontroleerde toegang tot de privéleden toe te staan. Het _name lid wordt geopend via een openbare methode en het _salary lid wordt geopend via een openbare eigenschap met het kenmerk Alleen-lezen. Zie Eigenschappenvoor meer informatie.
class Employee2
{
private readonly string _name = "FirstName, LastName";
private readonly double _salary = 100.0;
public string GetName()
{
return _name;
}
public double Salary
{
get { return _salary; }
}
}
class PrivateTest
{
static void Main()
{
var e = new Employee2();
// The data members are inaccessible (private), so
// they can't be accessed like this:
// string n = e._name;
// double s = e._salary;
// '_name' is indirectly accessed via method:
string n = e.GetName();
// '_salary' is indirectly accessed via property
double s = e.Salary;
}
}
C#-taalspecificatie
Zie Toegankelijkheid gedeclareerd in de C#-taalspecificatie voor meer informatie. De taalspecificatie is de definitieve bron voor de C#-syntaxis en het gebruik.