Klíčové slovo get
Klíčové get
slovo definuje metodu přistupování ve vlastnosti nebo indexeru, která vrací hodnotu vlastnosti nebo indexer elementu. Další informace naleznete v tématu Vlastnosti, Automaticky implementované vlastnostia Indexery.
V jednoduchých případech, kdy objekty get
a set
přístupové objekty neprovádějí žádnou jinou operaci než nastavení nebo načítání hodnoty v privátním backingovém poli, můžete využít podporu kompilátoru jazyka C# pro automaticky implementované vlastnosti. Následující příklad implementuje Hours
jako automaticky implementovanou vlastnost.
class TimePeriod3
{
public double Hours { get; set; }
}
Důležité
Automaticky implementované vlastnosti nejsou povoleny pro deklarace vlastností rozhraní ani pro implementovanou deklaraci částečné vlastnosti. Kompilátor interpretuje syntaxi odpovídající automaticky implementované vlastnosti jako deklarující deklaraci, nikoli implementační deklaraci.
Přistupování get
se často skládá z jednoho příkazu, který vrací hodnotu, jak tomu bylo v předchozím příkladu. Přístupové objekty můžete implementovat get
jako člen s výrazem. Následující příklad implementuje jak členové get
výrazuset
, tak jako přístupové objekty.
class TimePeriod2
{
private double _seconds;
public double Seconds
{
get => _seconds;
set => _seconds = value;
}
}
Možná zjistíte, že potřebujete implementovat jedno z těl příslušenství. Pomocí vlastnosti s polem můžete kompilátoru nechat vygenerovat jeden přístup, zatímco píšete ručně. K přístupu k syntetizovanému záložnímu poli kompilátoru field
použijete klíčové slovo přidané jako funkce Preview v jazyce C# 13:
class TimePeriod4
{
public double Hours {
get;
set => field = (value >= 0)
? value
: throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
}
}
Důležité
Klíčové field
slovo je funkce preview v jazyce C# 13. Pokud chcete použít <LangVersion>
kontextové klíčové slovo, musíte použít .NET 9 a nastavit prvek preview
do field
souboru projektu.
Měli byste být opatrní pomocí funkce klíčového field
slova ve třídě, která má pole s názvem field
. Nové field
klíčové slovo stínuje pole pojmenované field
v oboru přístupového objektu vlastnosti. Můžete změnit název field
proměnné nebo pomocí @
tokenu odkazovat na field
identifikátor jako @field
. Další informace najdete ve specifikaci funkce pro field
klíčové slovo.
Následující příklad definuje jak a get
set
příslušenství pro vlastnost s názvem Seconds
. Používá soukromé pole pojmenované _seconds
k vrácení hodnoty vlastnosti.
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;
}
}
}
Specifikace jazyka C#
Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.