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
A get kulcsszó egy olyan tulajdonság vagy indexelő kiegészítő metódusát határozza meg, amely a tulajdonság értékét vagy az indexelő elemet adja vissza. További információ: Tulajdonságok, Automatikusan implementált tulajdonságokés Indexelők.
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.
Olyan egyszerű esetekben, amikor egy tulajdonság get és set tartozék nem hajt végre más műveletet, mint egy érték beállítása vagy lekérése egy privát háttérmezőben, használja ki a C#-fordító automatikusan implementált tulajdonságainak támogatását. Az alábbi példa automatikusan implementált tulajdonságként implementál Hours .
class TimePeriod3
{
public double Hours { get; set; }
}
Fontos
Az illesztőtulajdonság-deklarációkhoz és a részleges tulajdonság implementálási deklarációihoz nem használhat automatikusan implementált tulajdonságokat. A fordító az automatikusan implementált tulajdonságnak megfelelő szintaxist deklaráló deklarációként értelmezi, nem implementáló deklarációként.
A kiegészítő gyakran egyetlen utasításból áll, get amely egy értéket ad vissza, ahogyan az előző példában is tette. A kiegészítőt get kifejezési testű tagként implementálhatja. Az alábbi példa kifejezési testű tagként implementálja a get kiegészítőt és a set kiegészítőt is.
class TimePeriod2
{
private double _seconds;
public double Seconds
{
get => _seconds;
set => _seconds = value;
}
}
Előfordulhat, hogy az egyik tartozéktestet végre kell hajtania. Mezőháttér-tulajdonság használatával lehetővé teszi, hogy a fordító egy kiegészítőt hozzon létre, miközben kézzel írja a másikat. Használja a field C# 14-ben hozzáadott kulcsszót a fordító szintetizált háttérmezőjének eléréséhez:
class TimePeriod4
{
public double Hours {
get;
set => field = (value >= 0)
? value
: throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
}
}
Az alábbi példa egy nevű tulajdonsághoz gettartozó tartozékot setSeconds és tartozékot is definiál. A tulajdonság értékének visszaadásához egy elnevezett _seconds magánmezőt használ.
class TimePeriod
{
private double _seconds;
public double Seconds
{
get { return _seconds; }
set
{
if (value < 0)
{
throw new ArgumentOutOfRangeException(nameof(value), "The value of the time period must be non-negative.");
}
_seconds = value;
}
}
}
C# nyelvi specifikáció
További információkért lásd a C# nyelvi specifikációját. A nyelvi specifikáció a C#-szintaxis és -használat végleges forrása.