set (Referenční dokumentace jazyka C#)
Klíčové set
slovo definuje metodu přístupového objektu ve vlastnosti nebo indexeru, která přiřadí hodnotu vlastnosti nebo prvku indexeru. Další informace a příklady naleznete v tématu Vlastnosti, Automaticky implementované vlastnosti a Indexery.
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;
}
}
}
Přistupování set
se často skládá z jednoho příkazu, který přiřazuje hodnotu, jak tomu bylo v předchozím příkladu. Přístupové objekty můžete implementovat set
jako člen s výrazem. Následující příklad implementuje jak set
objekty, tak get
přístupové objekty jako členy s body výrazu.
class TimePeriod2
{
private double _seconds;
public double Seconds
{
get => _seconds;
set => _seconds = value;
}
}
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.
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#.