J'utilise des getters and Setters pour créer une instance d'une classe.
est-il possible d'ajuster la valeur définie sans avoir à avoir une variable privée et le faire directement sur le type? P>
Par exemple, si ma classe est: p> et je veux l'instancier faire: p> public class Cat()
{
public String Age{get; set{ value = ConvertToHumanYears(value); }
}
3 Réponses :
Vous ne pouvez pas utiliser la propriété automatique pour getter et avoir une définition pour Setter.
C'est soit P>
public class Cat() { private String _age; public String Age{ get{ return _age; } set{ _age = ConvertToHumanYears(value); } } } }
Ah, c'est ce que j'ai, mais j'espérais l'avoir propre sans l'ajout d'une variable privée :(
La raison en est que le compilateur crée en fait la variable privée à la volée au moment de l'exécution, vous ne pouvez donc pas le mélanger. @StackoverflowException est correct.
Que diriez-vous de cela? Vous devez avoir le réglage, mais il est appelable uniquement à l'intérieur de la classe elle-même. p> Vous pouvez ensuite créer un constructeur qui permet de définir la valeur: p> ou p>
Dans ce cas, il ne sert à rien, mais j'ai eu un problème similaire où je voulais juste être prêt à être privé et à être public, au lieu de spécifier le setter que je l'ai marqué privé. Je n'ai pas maintenant pu faire cela. Parfois, plus il est évident, plus il est difficile de trouver.
J'espère que cela aide quelqu'un! P> p>
Cela ressemble beaucoup à VB, pourquoi étiquetez-le comme c #?