Megosztás a következőn keresztül:


privát (C#-referencia)

A private kulcsszó egy taghozzáférés-módosító.

Ez a lap a hozzáférést ismerteti private . A private kulcsszó a hozzáférési módosító része private protected is.

A privát hozzáférés a legkevésbé megengedő hozzáférési szint. A magántagok csak az osztály vagy a deklarált szervezeti egység törzsén belül érhetők el, ahogyan ebben a példában is látható:

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

Az ugyanabban a törzsben lévő beágyazott típusok ezekhez a privát tagokhoz is hozzáférhetnek.

Fordítási idő hiba az osztályon kívüli magántagra vagy a deklaráció alapjául szolgáló szerkezetre való hivatkozás.

A többi hozzáférési módosítóval való összehasonlítást private lásd : Akadálymentességi szintek és hozzáférési módosítók.

Példa

Ebben a példában az Employee osztály két privát adattagot _name és _salary. Privát tagként csak tagi módszerekkel érhetők el. A rendszer nyilvános metódusokat nevez el GetName és Salary ad hozzá a privát tagokhoz való szabályozott hozzáférés engedélyezéséhez. A _name tag nyilvános módszerrel érhető el, a _salary tag pedig nyilvános írásvédett tulajdonságon keresztül érhető el. További információ: Tulajdonságok.

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# nyelvspecifikáció

További információ: Deklarált akadálymentesség a C# nyelvi specifikációjában. A nyelvi specifikáció a C#-szintaxis és -használat végleges forrása.

Lásd még