J'ai vu qu'en C# maintenant on pouvait écrit les get/set comme ça :
public int scoreTotal
{
get;
set;
}
mais ce n'est pas un peu risqué vu qu'il n'y a plus de private.
Quelle est la meilleur façon de les écrire en C# pour vous?
Merci
J'ai vu qu'en C# maintenant on pouvait écrit les get/set comme ça :
public int scoreTotal
{
get;
set;
}
mais ce n'est pas un peu risqué vu qu'il n'y a plus de private.
Quelle est la meilleur façon de les écrire en C# pour vous?
Merci
C'est une simplification d'écriture uniquement. Le problème de cette écriture est qu'il n'est pas possible de valider la valeur lors du set, ce qui peut s'avérer très dangeureux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public int Width { get; set; } // remplace private int width; public int Width { get { return width; } set { width = value; } }
Qu'entends tu par valider?
avant on faisait objet.setObjet(2);
et maintenant juste objet.Objet = 2;
Salut
Faire un contrôle sur la valeur, par exemple :Qu'entends tu par valider?
Cependant, il est toujours possible de faire du pur private sans getter / setter :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public int Width { get { return width; } set { width = (value > 0) ? value : -1; } }
Ou du read only :
Code : Sélectionner tout - Visualiser dans une fenêtre à part private int width;
Code : Sélectionner tout - Visualiser dans une fenêtre à part public int Width { get; private set; }
Quand tu dis avant, c'était en Java ?
Les propriétés existent depuis le début en C#.
La simplification elle n'est disponible que depuis la 3.5.
oui je voulais dire avant : en java ou c++
Partager