private (Referência C#)
A private
palavra-chave é um modificador de acesso de membro.
Esta página abrange o
private
acesso. Aprivate
palavra-chave também faz parte doprivate 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#.