On nous dit souvent que nous devons protéger l'encapsulation en créant des méthodes getter et setter (propriétés en C #) pour les champs de classe, au lieu d'exposer les champs au monde extérieur.
Mais il y a de nombreuses fois où un champ est juste là pour contenir une valeur et ne nécessite aucun calcul pour obtenir ou définir. Pour ceux-ci, nous ferions tous ce numéro:
public class Book
{
private string _title;
public string Title
{
get{ return _title; }
set{ _title = value; }
}
}
Eh bien, j'ai une confession, je ne pouvais pas supporter d'écrire tout cela (vraiment, il ne fallait pas l'écrire, il fallait le regarder), alors je suis devenu voyou et j'ai utilisé les champs publics.
Ensuite vient C # 3.0 et je vois qu'ils ont ajouté des propriétés automatiques:
public class Book
{
public string Title {get; set;}
}
ce qui est plus ordonné, et j'en suis reconnaissant, mais vraiment, qu'est-ce qui est si différent que de simplement rendre un domaine public?
public class Book
{
public string Title;
}
prop
extrait de code permet de créer rapidement des propriétés. Tapez simplement prop
puis tab.