Sdílet prostřednictvím


private (Referenční dokumentace jazyka C#)

Klíčové private slovo je modifikátor přístupu člena.

Tato stránka popisuje private přístup. Klíčové private slovo je také součástí modifikátoru private protected přístupu.

Privátní přístup je nejnižší úroveň přístupu. Soukromé členy jsou přístupné pouze v těle třídy nebo struktury, ve které jsou deklarovány, jako v tomto příkladu:

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

Vnořené typy ve stejném textu mají také přístup k těmto soukromým členům.

Jedná se o chybu v době kompilace odkazující na privátního člena mimo třídu nebo strukturu, ve které je deklarována.

Porovnání private s ostatními modifikátory přístupu najdete v tématu Úrovně přístupnosti a Modifikátory přístupu.

Příklad

V tomto příkladu Employee třída obsahuje dva soukromé datové členy _name a _salary. Jako soukromé členy nelze získat přístup s výjimkou metod členů. Veřejné metody pojmenované GetName a Salary jsou přidány tak, aby umožňovaly řízený přístup k soukromým členům. Člen _name je přístupný prostřednictvím veřejné metody a _salary člen je přístupný prostřednictvím veřejné vlastnosti jen pro čtení. Další informace naleznete v tématu Vlastnosti.

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;
    }
}

specifikace jazyka C#

Další informace naleznete v tématu Deklarovaná přístupnost ve specifikaci jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.

Viz také