Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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, Automatycznie zaimplementowane właściwości i Indeksatory.
Dokumentacja języka C# zawiera ostatnio wydaną wersję języka C#. Zawiera również początkową dokumentację dla funkcjonalności w publicznych wersjach testowych nadchodzącego wydania języka.
Dokumentacja identyfikuje dowolną funkcję po raz pierwszy wprowadzoną w ostatnich trzech wersjach języka lub w bieżącej publicznej wersji zapoznawczej.
Wskazówka
Aby dowiedzieć się, kiedy funkcja została po raz pierwszy wprowadzona w języku C#, zapoznaj się z artykułem dotyczącym historii wersji języka C#.
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, należy użyć automatycznie zaimplementowanych właściwości. Poniższy przykład implementuje Hours jako automatycznie zaimplementowaną właściwość.
class TimePeriod3
{
public double Hours { get; set; }
}
Ważne
Nie można używać automatycznie zaimplementowanych właściwości dla deklaracji właściwości interfejsu ani deklaracji implementowania dla właściwości częściowej. Kompilator interpretuje składnię zgodną z automatycznie zaimplementowaną właściwością jako deklarację deklaratywną, a nie deklarację implementującą.
Może być konieczne zaimplementowanie jednego z ciał akcesoriów. Słowo field kluczowe dodane w języku C# 14 deklaruje właściwość popartą polem. Użyj właściwości popartej polem, aby umożliwić kompilatorowi wygenerowanie jednego elementu dostępu podczas pisania drugiego. Użyj słowa kluczowego , field aby uzyskać dostęp do pola kopii zapasowej syntetyzowanego kompilatora:
class TimePeriod4
{
public double Hours {
get;
set => field = (value >= 0)
? value
: throw new ArgumentOutOfRangeException(nameof(value), "The value must not be negative");
}
}
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 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;
}
}
}
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#.