Les propriétés utilisant le mot clé field
Présentation
Au sein du getter et setter d'une propriété, le mot-clé field permet de désigner un attribut généré automatiquement et exposé par cette propriété. Voici un exemple :
L’implémentation de cette propriété est équivalente à cette implémentation que nous connaissons déjà :
Autrement dit, dans le premier exemple de code proposé ci-dessus, l’arrivée du mot clé field permet de conserver l’implémentation des propriétés simplifiées, tout en ayant la possibilité de personnaliser l’implémentation du setter. Le compilateur continue à générer un attribut privé qui n’est pas visible dans le code (mais « visible » lors de l’exécution), tout en pouvant y accéder dans le getter et setter des propriétés.
Autres exemples
Il est possible de procéder à des vérifications avant de valoriser l’attribut exposé par l’accesseur. Dans l’exemple de code ci-dessous, on vérifie que l’âge est minimum d’un an avant de valoriser l’attribut _age (masqué).
public int Age
{
get;
set
{
if (value < 0)
throw new ArgumentOutOfRangeException();
field = value;
}
}
Il est aussi possible d’utiliser le mot clé field dans le getter :
Ainsi, si l’attribut _label vaut null, alors une chaîne vide est retournée.