get (odwołanie w C#)
Słowo get
kluczowe definiuje metodę dostępu we właściwości lub indeksatorze, która zwraca wartość właściwości lub element indeksatora. Aby uzyskać więcej informacji, 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;
}
}
}
Często metoda dostępu składa się z pojedynczej instrukcji, get
która zwraca wartość, tak jak w poprzednim przykładzie. Metodę get
dostępu można zaimplementować jako element członkowski z wyrażeniem. Poniższy przykład implementuje zarówno metodę get
, jak i metodę set
dostępu 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#.