J'ai une classe qui a quelques propriétés. Et je veux quelque chose qui calcule un score sur ces propriétés. Puisque c'est une tâche triviale (quelques ajouts et divisions, mais rien de spectaculaire). Donc, naturellement, la question est: "Quand utiliser une propriété avec du code dans le getter, et quand utiliser une fonction?", Et that question was already answered. Maintenant, je m'interroge sur une chose: si - contre toute attente - j'ai jamais eu besoin de rendre ce Getter si compliqué qu'il devrait être une fonction (par exemple, parce que je dois mettre des données dedans ou parce qu'il peut jeter une exception ou autre), est-il facile de changer une propriété en une méthode?Modification d'une propriété en une méthode - des effets secondaires?
Bien sûr, il semble vraiment trivial, juste changer
public double Score {
get {
return Math.Round(A + B/C * D,3);
}
}
à
public double Score(){
return Math.Round(A + B/C * D,3);
}
Mais je me demande: Y a-t-il des effets secondaires? Est-ce que quelque chose va se casser quand on change des trucs comme ça? Je ne peux jamais voir cela comme un problème possible quand la réflexion est impliquée, mais dans les situations où j'ai 2 assemblées - une qui définit la classe et une qui utilise la classe - et seulement changer celle qui contient la classe sans recompiler le consommateur Assemblée. Est-ce une source possible de «bugs bizarres qu'il est presque impossible de suivre» ou est-il complètement sûr de changer les propriétés en méthodes?
Merci. J'avais juste peur qu'il y ait plus de magie noire cachée. Accepter cette réponse parce qu'elle est plus élaborée, mais mise à la fois les deux. –