Udostępnij za pośrednictwem


set (odwołanie w C#)

Słowo set kluczowe definiuje metodę dostępu we właściwości lub indeksatorze, która przypisuje wartość do właściwości lub elementu indeksatora. Aby uzyskać więcej informacji i przykładów, zobacz Właściwości, Właściwości zaimplementowane automatycznie i Indeksatory.

W poniższym przykładzie zdefiniowano metodę get i metodę set dostępu dla właściwości o nazwie Seconds. Używa pola prywatnego o nazwie _seconds , aby przywrócić wartość właściwości.

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;
        }
    }
}

set Często akcesorium składa się z pojedynczej instrukcji, która przypisuje wartość, tak jak w poprzednim przykładzie. Metodę set dostępu można zaimplementować jako element członkowski z wyrażeniem. W poniższym przykładzie zaimplementowano zarówno metody dostępu, get jak i set jako składowe wyrażeń.

class TimePeriod2
{
    private double _seconds;

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

W prostych przypadkach, w których właściwości get i set metody dostępu nie wykonują żadnej innej operacji niż ustawianie lub pobieranie wartości w prywatnym polu pomocniczym, można skorzystać z obsługi kompilatora języka C# dla właściwości implementowanych automatycznie. Poniższy przykład implementuje Hours jako właściwość zaimplementowaną automatycznie.

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

Ważne

Właściwości zaimplementowane automatycznie nie są dozwolone w przypadku deklaracji właściwości interfejsu ani częściowych deklaracji właściwości. W obu przypadkach kompilator interpretuje składnię zgodną z właściwością zaimplementowaną automatycznie jako deklarację deklarującą, a nie deklarację implementującą.

specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz Specyfikacja języka C#. Specyfikacja języka jest ostatecznym źródłem informacji o składni i użyciu języka C#.

Zobacz też