init (Referenční dokumentace jazyka C#)
V C# 9 a novějších init klíčová slova definují metodu přístupového objektu ve vlastnosti nebo indexeru. Setter pouze pro inicializaci přiřadí hodnotu vlastnosti nebo prvku indexeru pouze během vytváření objektu. Další informace a příklady najdete v tématech vlastnosti, automaticky implementované vlastnostia indexery.
Následující příklad definuje jak get a init přístup k vlastnosti s názvem Seconds . K zálohování hodnoty vlastnosti používá soukromé pole s názvem _seconds .
class InitExample
{
private double _seconds;
public double Seconds
{
get { return _seconds; }
init { _seconds = value; }
}
}
initPřistupující objekt se často skládá z jediného příkazu, který přiřadí hodnotu, stejně jako v předchozím příkladu. Přístup k objektu můžete implementovat init jako člena Expression-těle. Následující příklad implementuje jak get a init přistupující objekty jako členy Expression-těle.
class InitExampleExpressionBodied
{
private double _seconds;
public double Seconds
{
get => _seconds;
init => _seconds = value;
}
}
Pro jednoduché případy, kdy přístup k vlastnostem get a init přistupující objekty neprovádí žádnou jinou operaci než nastavení nebo načtení hodnoty v soukromém poli pro zálohování, můžete využít podporu kompilátoru C# pro automaticky implementované vlastnosti. Následující příklad implementuje Hours jako automaticky implementovanou vlastnost.
class InitExampleAutoProperty
{
public double Hours { get; init; }
}
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#.