Dot.Blog

C#, XAML, Xamarin, UWP/Android/iOS

C# 6.0–Initialisation des propriétés automatiques

[new:30/01/2015]C# 6.0 propose son lot de nouveautés qui rendent la programmation encore plus rapide, plus fiable. Parmi celles-ci on trouve l’initialisation des propriétés automatique.

Les propriétés automatiques

Depuis quelques versions déjà C# permet de déclarer des propriétés dites automatiques c’est à dire sans avoir à déclarer un “backing field”, un champ sous-jacent qui contient réellement la valeur. Le compilateur s’en charge.

Une telle déclaration ressemble à :

public int Duration {get; set;}

 

C’est simple et efficace. Oui mais…

L’initialisation d’une propriété automatique

Comparativement à une propriété classique, la propriété automatique ne possède pas de champ explicite qu’on peut initialisé facilement.

C’est bête parce que cela oblige à initialiser la valeur dans le constructeur de la classe le plus souvent. C’est un code fastidieux qu’il ne faut pas oublier et qui, il est vrai, fait perdre de son charme aux propriétés automatiques.

C# 6 à la rescousse

C’est tellement bête, tellement simple qu’on se demande pourquoi il aura fallu attendre la 6ème version de C# pour voir apparaitre cette syntaxe !

Désormais pour initialiser une propriété automatique nul besoin d’ajouter du code dans le constructeur de la classe ou de déclarer un backing field. Il suffit de placer l’initialisation à la suite logique de la déclaration de la propriété :

public int Duration {get; set;] = 42;
public string FirstName {get; private set;} = "Frank";
public DateTime StartTime {get; set;} = DateTime.Now;

 

Etc…

Conclusion

Une astuce bien pratique dont on ne pourra bientôt plus se passer !

Stay Tuned !

blog comments powered by Disqus