private (Referenční dokumentace jazyka C#)private (C# Reference)

private Klíčové slovo je modifikátor přístupu ke členu.The private keyword is a member access modifier.

Tato stránka se private zabývá přístupem.This page covers private access. Klíčové slovo je také součástí private protected modifikátoru přístupu. privateThe private keyword is also part of the private protected access modifier.

Privátní přístup je nejnižší úroveň přístupu.Private access is the least permissive access level. Soukromé členy jsou přístupné pouze v těle třídy nebo struktury, ve které jsou deklarovány, jako v tomto příkladu:Private members are accessible only within the body of the class or the struct in which they are declared, as in this example:

class Employee
{
    private int i;
    double d;   // private access by default
}

K těmto soukromým členům mohou přistupovat i vnořené typy ve stejném těle.Nested types in the same body can also access those private members.

Jedná se o chybu při kompilaci, která odkazuje na soukromého člena mimo třídu nebo strukturu, ve které je deklarována.It is a compile-time error to reference a private member outside the class or the struct in which it is declared.

Porovnání private s dalšími modifikátory přístupu najdete v tématu úrovně přístupnosti a modifikátory přístupu.For a comparison of private with the other access modifiers, see Accessibility Levels and Access Modifiers.

PříkladExample

V tomto příkladu Employee třída obsahuje dva soukromé datové name členy a salary.In this example, the Employee class contains two private data members, name and salary. Jako soukromé členy nejsou k dispozici, s výjimkou metod členů.As private members, they cannot be accessed except by member methods. Veřejné metody s GetName názvem Salary a jsou přidány, aby umožnily řízený přístup soukromým členům.Public methods named GetName and Salary are added to allow controlled access to the private members. K členu se dá získat přístup prostřednictvím veřejné metody salary a k zobrazení člena se dostanete pomocí veřejné vlastnosti jen pro čtení. nameThe name member is accessed by way of a public method, and the salary member is accessed by way of a public read-only property. (Další informace najdete v tématu vlastnosti .)(See Properties for more information.)

class Employee2
{
    private string name = "FirstName, LastName";
    private 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#C# language specification

Další informace najdete v tématu deklarované přístupnosti ve C# specifikaci jazyka.For more information, see Declared accessibility in the C# Language Specification. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.The language specification is the definitive source for C# syntax and usage.

Viz také:See also