OUTLOOK RESILIENCY CLEANER

cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 - 23 oct. 2009 à 21:28
Safti Messages postés 3 Date d'inscription vendredi 10 décembre 2004 Statut Membre Dernière intervention 26 octobre 2009 - 26 oct. 2009 à 11:37
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50738-outlook-resiliency-cleaner

Safti Messages postés 3 Date d'inscription vendredi 10 décembre 2004 Statut Membre Dernière intervention 26 octobre 2009
26 oct. 2009 à 11:37
Merci MALKUTH pour ces infos.

Pour la fonction "lirefichier(x,y)", j'avais mis un tableau pour contenir les valeurs de retour car je ne connaissais pas la méthode avec Out.
C'est vrai que cela simplifie énormément les choses… je me le suis bien noté et je vais modifier le source en conséquence… et y penser pour ceux à venir...

Pour la pseudo constante, c'est judicieux de la mettre en lecture seule…je n'y avais pas pensé, des erreurs de débutant que je vais essayer de combler… :o)
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
23 oct. 2009 à 21:28
Quelques petits trucs :

au lieu de faire une fonction :
public string[] LireFichier(string parametre)
une fonction :
public bool EssaiLireFichier(string parametre,out string valeur)
serait plus propre.

le paramêtre out permet de créer un paramêtre de sortie, lu'tilisation de la fonction devient plus simple :

string valeurdemonparam;
string monparam = "MonParam";
if(EssaiLireFichier(monparam, out valeurdemonparam))
{
//ici valeurdemonparam correctement récupéré
Debug.WriteLine(string.Format("[{0}] vaut [{1}]", monparam, valeurdemonparam));
}
else
{
//ici valeurdemonparam non récupéré
Debug.WriteLine(string.Format("Impossible de lire [{0}]", monparam));
}

pour codé une telle fonction voilà le principe :

public bool EssaiLireFichier(string parametre,out string valeur)
{
//ici quand on as pus lire
valeur = valeurlu;
return true;

//ici quand on as pas pus lire
valeur = string.Empty;
return false;
}

Ensuite, à propos de la "fausse constante" :
string RCNL = Environment.NewLine;
tu peux écrire :
string readonly RCNL = Environment.NewLine;

ca empecheras toute modification ultérieur de la valeur qui devient une pseudo constante.

Attention toutefois :
truc readonly trucconstant = new truc();
empêchera de faire
trucconstant = new truc();
mais pas
trucconstant.machin = new machin();
Rejoignez-nous