Udostępnij za pośrednictwem


field - Deklaracje właściwości z kopią zapasową pola

Ważne

Słowo field kluczowe jest funkcją w wersji zapoznawczej w języku C# 13. Musisz użyć platformy .NET 9 i ustawić element <LangVersion> na preview w pliku projektu, aby użyć field kontekstu słowa kluczowego.

Należy zachować ostrożność przy użyciu funkcji słowa kluczowego field w klasie, która ma pole o nazwie field. Nowe field słowo kluczowe cieniuje pole o nazwie field w zakresie metody dostępu właściwości. Możesz zmienić nazwę zmiennej field lub użyć tokenu @ , aby odwołać się do identyfikatora field jako @field. Aby dowiedzieć się więcej, przeczytaj specyfikację funkcji słowa kluczowego field.

Kontekstowe słowo kluczowe field, dodane jako funkcja w wersji zapoznawczej w języku C# 13, może służyć w metodzie dostępu do właściwości w celu uzyskania dostępu do syntetyzowanego pola kopii zapasowej właściwości kompilatora. Ta składnia umożliwia zdefiniowanie treści metody get lub set metody dostępu i umożliwienie kompilatorowi wygenerowania innej metody dostępu, tak jak w przypadku automatycznie zaimplementowanej właściwości.

Dodanie field słów kluczowych kontekstowych zapewnia płynną ścieżkę do dodawania korzyści, takich jak sprawdzanie zakresu do automatycznie zaimplementowanej właściwości. Ta praktyka jest pokazana w poniższym przykładzie:

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

Właściwość można zaimplementować Hours jako automatycznie zaimplementowaną właściwość. Następnie odkryjesz, że chcesz chronić przed wartością ujemną. Używasz field metody i podajesz sprawdzanie zakresu w metodzie set dostępu. Nie musisz deklarować pola zaplecza ręcznie i zapewnić ciało dla akcesoriów get .

Aby uzyskać więcej informacji, zobacz artykuły Właściwości i indeksatory .

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#.