Partager via


field - Déclarations de propriétés sauvegardées par champ

Important

Le field mot clé est une fonctionnalité d’aperçu en C# 13. Vous devez utiliser .NET 9 et définir votre <LangVersion> élément preview dans votre fichier projet afin d’utiliser le field mot clé contextuel.

Vous devez être prudent à l’aide de la field fonctionnalité de mot clé dans une classe qui a un champ nommé field. Le nouveau field mot clé ombre un champ nommé field dans l’étendue d’un accesseur de propriété. Vous pouvez modifier le nom de la field variable ou utiliser le @ jeton pour référencer l’identificateur field en tant que @field. Pour plus d’informations, lisez la spécification de fonctionnalité pour le field mot clé.

Le mot clé fieldcontextuel , ajouté en tant que fonctionnalité d’aperçu en C# 13, peut être utilisé dans un accesseur de propriété pour accéder au champ de stockage synthétisé du compilateur d’une propriété. Cette syntaxe vous permet de définir le corps d’un ou set d’un get accesseur et de permettre au compilateur de générer l’autre accesseur tel qu’il se trouve dans une propriété implémentée automatiquement.

L’ajout des mots clés contextuels fournit un chemin d’accès fluide pour ajouter des avantages tels que la vérification de field plage à une propriété implémentée automatiquement. Cette pratique est illustrée dans l’exemple suivant :

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

Vous pouvez implémenter la Hours propriété en tant que propriété implémentée automatiquement. Ensuite, vous découvrez que vous souhaitez vous protéger contre une valeur négative. Vous utilisez field et fournissez la vérification de plage dans l’accesseur set . Vous n’avez pas besoin de déclarer le champ de stockage à la main et de fournir un corps pour l’accesseur get .

Pour plus d’informations, consultez les articles Propriétés et Indexeurs.

spécification du langage C#

Pour plus d'informations, voir la spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.