MiniTyson
-
1 avril 2013 à 22:13
Whismeril
Messages postés19029Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention26 avril 2024
-
3 avril 2013 à 14:50
Bonjour,
je voudrais remplacer mes get set par une autre solution
problème je suis débutant en c# et je ne vois pas comment faire :(
public String Sol
{
get
{
return this._solu;
}
set
{
if (this._solu == value)
{
return;
}
this._solu = value;
this.NotifierChangement("Sol");
}
}
je me suis renseigné sur google beaucoup parle que cela est possible mais personne n'explique comment faire :(
}
en faites je souhaite remplacer les getter setter pour effectuer mes tests unitaires car avec cela je n'y arrive pas :(
on m'a un peu aidé et proposé un code pour remplacer les getter setter seul problème le code alourdi le programme et je vois encore moins la solution pour réaliser mon test :(
Whismeril
Messages postés19029Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention26 avril 2024656 3 avril 2013 à 14:50
Bonjour,
pour autant que je me rappelle le seul stage de C# que j'ai eu, mettre les varible en public n'est pas conseillé, si tout le monde à accès aux variables internes, des opérations extérieures mal gérées peuvent mettre le bazard dans les opérations internes.
Je ne comprends pas ton histoire de test, mais j'entrevoie deux solutions:
1 dans le cas ou _solu ne te sers qu'à stocker une info, et n'est pas ou très peu utilisée dans ta classe, tu peux utiliser les propiétés simplifiées (sans variable interne), ca revient un peu à faire ce que te propose yann, mais dans l'autre sens, au lieu de donner l'acces à ta variable interne à tous le monde, tu l'enlèves
public String Sol { get; set; }
et si dans ta classe, tu as besoin une fois ou deux d'acceder à la donnée, tu appelles this.Sol
La deuximème solution est d'utiliser des méthodes
public String SetSol(string valeur)
{
_solu = valeur;
}
public string ReturnSol()
{
return _solu;
}