Bonjour,

mon employeur, pour lequel je programme en C# m'a (bizarrement) donné une contrainte pour la programmation de mes classes :

Toutes les variables doivent être private readonly.


Ainsi, si je crée une classe qui contient un double, je dois créer une propriété pour obtenir la valeur de y.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class A 
{
private readonly double y;

public A(double x) {y=x;}

public double yreader
{
get {return y;}

set {???????????????}
}

}

Mon problème est pour modifier la valeur de y. Je souhaiterais tout simplement appeler mon constructeur, puisque lui peut modifier la valeur de y.

Je comptais donc mettre à la place des ??? :

this = new A(value);

ou même this(value);

Les deux ne marchent pas.

Donc : est il possible de "reconstruire" ma variable dans une propriété (et donc pas dans un constructeur) ?

Dans le cas contraire, comment puis je remplir les points d'interrogation afin que la valeur de y soit modifiée ?


En vous remerciant d'avance...

PS : je sais que c'est un peu bizarre de mettre TOUTES les variables des classes en readonly, mais bon, je ne vais pas mordre la main qui me nourrit.