Tout d'abord, j'ai lu à travers une liste de publications sur ce sujet et je ne crois pas, j'ai saisi les propriétés, car de ce que j'avais appris à comprendre au sujet de l'encapsulation et les modificateurs de champ (privé, public..ect).
L'un des principaux aspects de C# que je viens d'apprendre, c'est l'importance de la protection des données au sein de votre code par l'utilisation de l'encapsulation. J' "pensée" j'ai compris que pour être en raison de la capacité de l'utilisation des modificateurs (public, privé, interne, protégé). Cependant, après avoir appris que les propriétés je suis déjà un peu déchiré dans la compréhension non seulement des propriétés utilisations, mais dans l'ensemble, l'importance et la capacité de protection des données (ce que j'ai compris que l'encapsulation) dans C#.
Pour être plus précis, tout ce que j'ai lu quand je suis arrivé à propriétés en C#, c'est que vous essayez de les utiliser à la place de champs lorsque vous pouvez en raison de:
1) ils vous permettent de modifier le type de données lorsque vous ne pouvez pas directement accès au domaine directement en.
2) ils ajoutent un niveau de protection de l'accès aux données
Cependant, de ce que j'ai "pensée" j'avais appris à connaître à propos de l'utilisation de modificateurs de champ n' #2, il me semblait que les propriétés qui vient d'être généré de code supplémentaire, à moins d'avoir une raison pour changer le type (#1) - parce que vous êtes (plus ou moins) la création d'caché méthodes pour accéder aux champs plutôt que directement.
Il y a ensuite toute les modificateurs peuvent être ajoutés à des Propriétés qui complique ma compréhension de la nécessité de propriétés pour accéder aux données.
J'ai lu un certain nombre de chapitres de différents auteurs sur "propriétés" et aucun n'a vraiment expliqué une bonne compréhension des propriétés contre les champs contre l'encapsulation (et de bonnes méthodes de programmation).
Quelqu'un peut m'expliquer:
1) pourquoi je veux utiliser les propriétés au lieu de champs (surtout quand il semble que je suis juste en ajoutant un code supplémentaire
2) des conseils sur la façon de reconnaître l'utilisation de propriétés et de ne pas les voir comme de simples méthodes (à l'exception de la get;set est évident) lors du traçage d'autres peuples code?
3) des règles générales d'or quand il s'agit de la bonne méthode de programmation par rapport à quand utiliser quoi?
Merci et désolé pour le long post, je ne voulais pas juste de poser une question qui a été posée 100 fois, sans expliquer pourquoi je demande à nouveau.