Dans une grande partie du code que j'ai vu (sur soi, thecodeproject.com et j'ai tendance à le faire dans mon propre code), j'ai vu des propriétés publiques en cours de création pour chaque domaine privé qu'une classe contient, même si elles sont les plus de base type d' get; set;
comme:
private int myInt;
public int MyInt
{
get { return myInt; }
set { myInt = value }
}
Ma question est: comment est-ce différent de:
public int MyInt;
et si on doit utiliser des propriétés, au lieu de champs publics, pourquoi devrions-nous utiliser dans ce cas précis? (Je ne parle pas des exemples plus complexes où les getters et setters réellement faire quelque chose de spécial ou il y a un seul d'obtenir ou de définir (en lecture/écriture uniquement) plutôt que de simplement retourner/définition de la valeur d'un champ privé). Il ne semble pas supplémentaire encapsulation, ne donnent qu'une belle icône dans IntelliSense et être placé dans une section spéciale dans les diagrammes de classe!