IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

initialiser mes variables en un seul clic


Sujet :

C#

  1. #1
    Membre du Club Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Points : 60
    Points
    60
    Par défaut initialiser mes variables en un seul clic
    bonjour !
    j'aimerais savoir si je pourrais faire un bouton "nouveau" quand je clique dessus le tout se met a l'état initial (vide ou 0), mon programme contient des objets, des chaînes de caractères, des listes....etc, donc j'aimerais le faire sans les initialiser un par un ?

  2. #2
    Inscrit Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Points : 283
    Points
    283
    Par défaut
    Tu peux peut-être travailler par reflexion...

    ou alors, tu peux dériver toute tes classes pour qu'elle s'ajoute ds un singleton conteneur dans leur constructeur propre.

    Ensuite t'as plus qu'as bouclé sur ton singleton...

    Mais le mieux c'est d'expliquer ce que tu veux faire. Parce que si tu veux juste réinitialiser les valeur d'un UI, il y a plus simple.

  3. #3
    Membre du Club Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Points : 60
    Points
    60
    Par défaut
    oui je veux juste initialiser les valeur a une valeur null ou égale a 0 a chaque clic sur nouveau. Les remettre dans leurs état initial lors de l'ouverture de l'application la première fois !

  4. #4
    Inscrit Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Points : 283
    Points
    283
    Par défaut
    les valeurs de quoi ?

  5. #5
    Membre du Club Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Points : 60
    Points
    60
    Par défaut
    bon apparemment c'est complique !!!!
    dans chaque programme que t'as créé t'as utilise une déclaration !! et dans cette déclaration t'as mis des variables, des entiers, des chaines de caractère, des collections etc... qui sont initialisées a une certaine valeur que t'as choisi toi même (soit 0 soit null soit une valeur quelconque juste pour démarrer ton programme) !! maintenant je veux créer un bouton lorsque je clique dessus je retourne a ces valeurs la c'est tout !!!!!!! je vois pas ou est le problème !!!

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    salut

    Ya pas de problème, du fait une introspection de tous les membres instanciés par reflection, et suivant leur type, tu les mets à null ou à 0.

    En dehors de cette solution par reflection, une autre possibilité serait de fournir une liste de variable (liste de string par exemple) qu'une méthode ira chercher (par reflection surement) et modifiera...

    Voila...

    C'est effectivement pas compliqué. Maintenant, t'as plus qu'à le faire !

    The Monz, Toulouse

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Points : 627
    Points
    627
    Par défaut
    Salut,

    si il n'y avait pas de probleme, il n'y aurait pas à poser de question. =)

    Bref, ici, c'est un probleme de design, pas de langage. Le plus simple serait de fermer pour tout reouvrir (une sorte de redémarrage complet de l'appli), l'avantage, est que c'est simple et que ca tient pas compte de l'existant, l'inconvenient c'est que c'est pas joli-joli. Apres plus subtiles, tu pourrais faire une reinitialisation de tous tes modules, mais ca implique que la fonctionnalité ait été planifiée, du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
        interface IReinitilizable
        {
            void SetOriginalState();
        }
     
        static void Main()
        {
            List<IReinitilizable> modules;
     
     
            foreach (IReinitilizable mod in modules)
            {
                mod.SetOriginalState();
            }
        }
    Tu implementes l'interface dans les modules d'applications devant etre reinitialisés, et tu geres le clic sur le bouton. Dans tous les cas, soit tu "redemarres" l'appli, soit tu geres à la main de la remise à zero de mes objets, mais comme dit au dessus, c'est un probleme de design.

  8. #8
    Inscrit Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Points : 283
    Points
    283
    Par défaut
    Citation Envoyé par ralf91 Voir le message
    bon apparemment c'est complique !!!!
    c'est surtout que tu donnes pas des masses d'infos...
    Citation Envoyé par ralf91 Voir le message
    dans chaque programme que t'as créé t'as utilise une déclaration !! et dans cette déclaration t'as mis des variables, des entiers, des chaines de caractère, des collections etc... qui sont initialisées a une certaine valeur que t'as choisi toi même (soit 0 soit null soit une valeur quelconque juste pour démarrer ton programme) !! maintenant je veux créer un bouton lorsque je clique dessus je retourne a ces valeurs la c'est tout !!!!!!! je vois pas ou est le problème !!!
    non, dans chaque application que je développe, j'ai un design clair avec des classes dont le champ d'application est limité...

    Et donc dans le cas d'une application winform si je veux réinitialiser le form qui affiche les données, il me suffit de lui passer un nouvelle instance de l'object qui fait le mapping ORM.

    Je me trimballe pas des données directement derrière le code de mon UI moi...

    Maintenant à design de merde solution de caca...

Discussions similaires

  1. [AC-2007] Initialiser une variable une seule fois
    Par christophe31 dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/07/2010, 13h43
  2. Problème avec l'initialisation de mes variables
    Par francois.delpierre dans le forum Langage
    Réponses: 4
    Dernier message: 18/10/2005, 02h18
  3. [JSTL] Mes variables ne sont pas remplacées par leur valeur
    Par thomine dans le forum Taglibs
    Réponses: 9
    Dernier message: 18/03/2005, 10h00
  4. [VB6]Initialiser une variable Static dans un évenement
    Par loverdose dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 20/01/2005, 14h57
  5. Réponses: 9
    Dernier message: 29/06/2004, 08h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo