Je ne comprends pas la nécessité d'avoir des setters privés qui a commencé avec C# 2.
Pour moi, avoir une méthode setter, c'est permettre à l'utilisateur de définir certaines variables dans cette classe. Ce faisant, nous n'exposons pas les variables directement aux utilisateurs. Au lieu de cela, nous les laissons faire par le biais de cette méthode setter publique.
Pour moi, il s'agit d'utiliser l'"encapsulation". Certains arguments prétendent que les paramètres privés permettent d'appliquer l'encapsulation.
N'ai-je pas recours à l'encapsulation en utilisant des méthodes publiques de type "setter" ? Pourquoi avons-nous besoin de fixateurs privés ?
Quelle est la différence entre une classe immuable et une classe avec des paramètres privés ?