Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A private palavra-chave é um modificador de acesso a membros.
Este artigo aborda
privateo acesso. Aprivatepalavra-chave também faz parte doprivate protectedmodificador de acesso.
A referência da linguagem C# documenta a versão mais recentemente lançada da linguagem C#. Contém também documentação inicial para funcionalidades em versões preliminares públicas para a próxima versão da linguagem.
A documentação identifica qualquer funcionalidade introduzida pela primeira vez nas últimas três versões da língua ou em pré-visualizações públicas atuais.
Sugestão
Para saber quando uma funcionalidade foi introduzida pela primeira vez em C#, consulte o artigo sobre o histórico de versões da linguagem C#.
O acesso privado é o nível de acesso menos permissivo. Só podes aceder a membros privados dentro do corpo da classe ou da estrutura onde os declaras, como mostrado no exemplo seguinte:
class Employee
{
private int _i;
double _d; // private access by default
}
Tipos aninhados no mesmo corpo também podem acessar esses membros privados.
Se referenciares um membro privado fora da classe ou da estrutura onde o declaras, o compilador devolve um erro.
Para obter uma comparação com os outros modificadores de acesso, consulte private e modificadores de acesso.
Neste exemplo, a Employee classe contém dois membros _name de dados privados e _salary. Como membros privados, os métodos dos membros são a única forma de aceder a eles. O exemplo acrescenta métodos públicos nomeados GetName e Salary 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#.
Ver também
- Palavras-chave C#
- Modificadores de acesso
- Níveis de Acessibilidade
- Modificadores
- público
- protegido
- interno