get (Справочник по C#)get (C# Reference)

Ключевое слово get определяет метод доступа в свойстве или индексаторе, который возвращает значение свойства или элемент индексатора.The get keyword defines an accessor method in a property or indexer that returns the property value or the indexer element. Дополнительные сведения см. в разделах Свойства, Автоматически реализуемые свойства и Индексаторы.For more information, see Properties, Auto-Implemented Properties and Indexers.

В приведенном ниже примере определен как метод доступа get, так и метод доступа set для свойства с именем Seconds.The following example defines both a get and a set accessor for a property named Seconds. Для возвращения значения свойства в нем используется закрытое поле с именем _seconds.It uses a private field named _seconds to back the property value.


class TimePeriod
{
     private double _seconds;

     public double Seconds
     {
         get { return _seconds; }
         set { _seconds = value; }
     }
}

Метод доступа get часто состоит из одного оператора, который возвращает значение, как в предыдущем примере.Often, the get accessor consists of a single statement that returns a value, as it did in the previous example. Начиная с C# версии 7.0 метод доступа get можно реализовывать как член, воплощающий выражение.Starting with C# 7.0, you can implement the get accessor as an expression-bodied member. В приведенном ниже примере методы доступа get и set реализуются как члены, воплощающие выражение.The following example implements both the get and the set accessor as expression-bodied members.


class TimePeriod
{
    private double _seconds;

    public double Seconds
    {
        get => _seconds;
        set => _seconds = value;
    }
}

В простых случаях, когда методы доступа get и set свойства не выполняют никаких иных операций, кроме задания или извлечения значения в закрытом поле, можно использовать поддержку автоматически реализуемых свойств в компиляторе C#.For simple cases in which a property's get and set accessors perform no other operation than setting or retrieving a value in a private backing field, you can take advantage of the C# compiler's support for auto-implemented properties. В приведенном ниже примере Hours реализуется как автоматически реализуемое свойство.The following example implements Hours as an auto-implemented property.

class TimePeriod2
{
    public double Hours { get; set; }
}

Спецификация языка C#C# Language Specification

Дополнительные сведения см. в спецификации языка C#.For more information, see the C# Language Specification. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.The language specification is the definitive source for C# syntax and usage.

См. такжеSee also