Factoriser 4 méthodes en une

MiniTyson - 23 mars 2013 à 15:16 - Dernière réponse : Whismeril 10556 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 15 décembre 2017 Dernière intervention
- 23 mars 2013 à 19:48
Bonjour j'aimerais savoir comment faire pour factoriser 4 méthodes.
Les méthodes sont de cette forme.



/// Sol4
public String Sol4
{
get
{
return this._sol4;
}
set
{
if (this._sol4 == value)
{
return;
}
this._sol4 = value;
this.NotifChang("Sol4");

}





Simplement les noms des attributs changent (sol4, sol3, ...) sinon le code est le même, j'ai vu en recherchant un peu l'utilisation de delegate mais je ne comprend pas trop comment l'utiliser.

merci de votre aide
Afficher la suite 

2 réponses

Répondre au sujet
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 23 mars 2013 à 15:24
0
Utile
C'est pas des méthodes, c'est une propriété avec ses accesseurs.

A ma connaissance tu ne pourras pas factoriser, tu es obligé de faire ce code là pour chaque propriété.



[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Commenter la réponse de cs_casy
Whismeril 10556 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 15 décembre 2017 Dernière intervention - 23 mars 2013 à 19:48
0
Utile
Bonsoir,

tu peux faire une bidouille de ce style

        public string Sol1
        {
            get { return ReturnSol(1); }
            set { AffecteSol(value, 1); }
        }

        private string ReturnSol(int index)
        {
            switch (index)
            {
                case 1:
                    return this._Sol1;

                default:
                    return "Erreur";
            }
        }

        private void AffecteSol(string value, int index)
        {
            switch (index)
            {
                case 1:
                    this._Sol1 = value;//perso je ne vois pas l'interret de tester si c'est égal, ça ralonge de la durée d'exécution
                    break;
            }
        }



tu ne gagnes pas vraiment en ligne de code, mais peut être en maintenance

Whismeril
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.