Sdílet prostřednictvím


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.

Referenční dokumentace jazyka C# dokumentuje naposledy vydané verze jazyka C#. Obsahuje také počáteční dokumentaci k funkcím ve verzi Public Preview pro nadcházející jazykovou verzi.

Dokumentace identifikuje všechny funkce, které byly poprvé představeny v posledních třech verzích jazyka nebo v aktuálních verzích Public Preview.

Návod

Informace o tom, kdy byla funkce poprvé představena v jazyce C#, najdete v článku o historii verzí jazyka C#.

V případě jednoduchých případů, 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, využijte 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é

Nelze použít automaticky implementované vlastnosti 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 zálohované pole nechte kompilátoru vygenerovat jeden přístup, zatímco píšete ručně. Pomocí klíčového field slova přidaného v jazyce C# 14 získejte přístup k syntetizovanému poli backing kompilátoru:

class TimePeriod4
{
    public double Hours {
        get;
        set => field = (value >= 0)
            ? value
            : throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
    }
}

Následující příklad definuje jak a getset 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#.

Viz také