Delen via


privé (C#-verwijzing)

Het private trefwoord is een wijziging voor lidtoegang.

Op deze pagina wordt toegang behandeld private . Het private trefwoord maakt ook deel uit van de private protected toegangsaanpassing.

Privétoegang is het minst missieve toegangsniveau. Privéleden zijn alleen toegankelijk binnen de hoofdtekst van de klas of de struct waarin ze worden gedeclareerd, zoals in dit voorbeeld:

class Employee
{
    private int _i;
    double _d;   // private access by default
}

Geneste typen in dezelfde hoofdtekst hebben ook toegang tot deze privéleden.

Het is een compilatiefout om te verwijzen naar een privélid buiten de klasse of de struct waarin deze wordt gedeclareerd.

Zie Toegankelijkheidsniveaus en toegangsmodifiers voor een vergelijking van private de andere toegangsmodifiers.

Opmerking

In dit voorbeeld bevat de Employee klasse twee persoonlijke gegevensleden en _name_salary. Als privéleden kunnen ze niet worden geopend, behalve via lidmethoden. Openbare methoden met de naam GetName en Salary worden toegevoegd 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 Eigenschappen voor 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.

Zie ook