private (Referência C#)

A private palavra-chave é um modificador de acesso de membro.

Esta página abrange o private acesso. A private palavra-chave também faz parte do private protected modificador de acesso.

O acesso privado é o nível de acesso menos permissivo. Os membros privados são acessíveis apenas dentro do corpo da classe ou da estrutura em que são declarados, como neste exemplo:

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

Tipos aninhados no mesmo corpo também podem acessar esses membros privados.

É um erro em tempo de compilação fazer referência a um membro privado fora da classe ou do struct em que ele é declarado.

Para obter uma comparação com os outros modificadores de acesso, consulte Níveis de acessibilidade e modificadores de private acesso.

Exemplo

Neste exemplo, a Employee classe contém dois membros _name de dados privados e _salary. Como membros privados, eles não podem ser acessados, exceto por métodos de membros. Métodos públicos nomeados GetName e Salary são adicionados para permitir o acesso controlado aos membros privados. O _name membro é acessado por meio de um método público, e o _salary membro é acessado por meio de uma propriedade pública somente leitura. Para obter mais informações, consulte Propriedades.

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

Especificação da linguagem C#

Para obter mais informações, consulte Acessibilidade declarada na Especificação de linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso do C#.

Consulte também