Partager via


get (référence C#)

Le mot clé get définit une méthode Accessor dans une propriété ou un indexeur qui retourne la valeur de la propriété ou l’élément de l’indexeur. Pour plus d’informations, veuillez consulter la section Propriétés, Propriétés auto-implémentées, et Indexeurs.

L’exemple suivant définit un accesseur get et un accesseur set pour une propriété nommée Seconds. Il utilise un champ privé nommé _seconds pour stocker la valeur de la propriété.

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

Souvent, l’accesseur get se compose d’une seule instruction qui retourne une valeur, comme dans l’exemple précédent. Vous pouvez implémenter l’accesseur get comme membre expression-bodied. L’exemple suivant implémente l’accesseur get et l’accesseur set en tant que membres expression-bodied.

class TimePeriod2
{
    private double _seconds;

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

Pour les cas simples dans lesquels les accesseurs get et set de la propriété n’effectuent aucune autre opération que la définition ou la récupération d’une valeur dans un champ de stockage privé, vous pouvez tirer parti de la prise en charge des propriétés implémentées automatiquement fournies par le compilateur C#. L’exemple suivant implémente Hours en tant que propriété implémentée automatiquement.

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

Important

Les propriétés auto-implémentées ne sont pas autorisées pour les déclarations de propriétés d’interface ou les déclarations partielles de propriétés. Dans les deux cas, le compilateur interprète la syntaxe correspondant à une propriété auto-implémentée comme une déclaration de déclaration, et non une déclaration d’implémentation.

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.

Voir aussi