Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A private kulcsszó egy taghozzáférés-módosító.
Ez a cikk a hozzáféréssel foglalkozik
private. Aprivatekulcsszó a hozzáférési módosító részeprivate protectedis.
A C# nyelv referenciadokumentuma a C# nyelv legújabb kiadású verzióját ismerteti. Emellett a közelgő nyelvi kiadás nyilvános előzetes verziójú funkcióinak kezdeti dokumentációját is tartalmazza.
A dokumentáció azonosítja azokat a funkciókat, amelyeket először a nyelv utolsó három verziójában vagy az aktuális nyilvános előzetes verziókban vezetnek be.
Jótanács
Ha meg szeretné tudni, hogy mikor jelent meg először egy funkció a C#-ban, tekintse meg a C# nyelvi verzióelőzményeiről szóló cikket.
A privát hozzáférés a legkevésbé megengedő hozzáférési szint. A magántagokat csak az osztály törzsén vagy a deklarált szervezeti egységen belül érheti el, ahogyan az alábbi példában látható:
class Employee
{
private int _i;
double _d; // private access by default
}
Az ugyanabban a törzsben lévő beágyazott típusok ezekhez a privát tagokhoz is hozzáférhetnek.
Ha az osztályon kívüli magántagra vagy a deklaráció helye szerinti szerkezetre hivatkozik, a fordító hibát ad vissza.
A többi hozzáférési módosítóval való összehasonlítást private lásd: Akadálymentességi szintek és hozzáférési módosítók.
Ebben a példában az Employee osztály két privát adattagot _name és _salary. Privát tagként csak a tagmetelyek férhetnek hozzá. A példa nyilvános metódusokat ad hozzá, GetName és Salary lehetővé teszi az ellenőrzött hozzáférést a privát tagok számára. A _name tag nyilvános módszerrel érhető el, a _salary tag pedig nyilvános írásvédett tulajdonságon keresztül érhető el. További információ: Tulajdonságok.
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;
}
}
C# nyelvspecifikáció
További információ: Deklarált akadálymentesség a C# nyelvi specifikációjában. A nyelvi specifikáció a C#-szintaxis és -használat végleges forrása.