L'erreur de compilation vient du fait que Point est une structure et que tu ne peux pas la modifier ainsi car c'est un type valeur. Dans ce cas de figure faire
instanceDeClasse.cePoint.X = 15
Reviendrait à écrire
1 2
| Point p = instanceDeClasse.cePoint;
p.X = 15; |
A ce stade p et instanceDeClasse.cePoint sont différents (car structure et donc type valeur). Modifier p ne modifiera pas instanceDeClasse.cePoint. Le compilateur génère donc une erreur, car si le code laisse à priori supposer que l'on modifie bien la variable ce n'est pas le cas.
Avec une structure il faut faire par exemple
instanceDeClasse.cePoint = new Point(15, instanceDeClasse.cePoint.Y);
Partager