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

Windows Forms Discussion :

[C#] Evaluation dynamique d'expression


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Juin 2006
    Messages : 73
    Par défaut [C#] Evaluation dynamique d'expression
    Bonjour,

    je cherche à faire un equivalent du "eval" javascript.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String toto1 = "salut1";
    String toto2 = "salut2";
    int nb = 1;
    Console.Write(Eval("toto"+nb)); --> devrait afficher le contenu de la
     variable toto1
    nb = 2;
    Console.Write(Eval("toto"+nb)); --> devrait afficher le contenu de la
     variable toto2
    Quelqu'un sait il comment faire cela en C# (.NET V2, VSExpress 2005) ?

    merci d'avance.

  2. #2
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    pourquoi pas faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Console.Write("toto" + nb.ToString());
    ?

  3. #3
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Citation Envoyé par guitoux1
    pourquoi pas faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Console.Write("toto" + nb.ToString());
    ?
    nan c'est pas ça qu'il veut, il veut pouvoir boucler sur ces nom de variables.

    Et la il y une solution : la reflexion.

    Une petite recherche sur le forum te donneras la marche à suivre.

  4. #4
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    a ouai ok, autant pour moi Donc oui, la réflexion

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Juin 2006
    Messages : 73
    Par défaut
    je précise un peu mieux mon besoin...

    J'ai 48 images dans mon fichier de ressource :
    Properties.Resources.Weather_128x128_0
    Properties.Resources.Weather_128x128_1
    Properties.Resources.Weather_128x128_2
    Properties.Resources.Weather_128x128_3
    etc...

    en fonction d'un int que j'ai dans une variable je doit changer l'image d'une picturebox.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    switch(monInt){
        case 0 :
            maPictureBox.image = Properties.Resources.Weather_128x128_0;
            break;
        case 1 :
            maPictureBox.image = Properties.Resources.Weather_128x128_1;
            break;
        case 2 :
            maPictureBox.image = Properties.Resources.Weather_128x128_2;
            break;
        // etc...
    }
    mais faire 48 cases me semble lourd (meme si ça marche). Je pense donc que l'on peu faire ça en une ligne de code. avec un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maPictureBox.image = Eval("Properties.Resources.Weather_128x128_"+monInt);
    j'espère que c'est plus claire. La reflexion est elle toujours la réponse à mon probleme ? Je connais bien la reflexion en java mais je ne voit pas bien dans quel mesure elle peut résoudre mon probleme dans ce cas là.

  6. #6
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Citation Envoyé par xtream
    j'espère que c'est plus claire. La reflexion est elle toujours la réponse à mon probleme ? Je connais bien la reflexion en java mais je ne voit pas bien dans quel mesure elle peut résoudre mon probleme dans ce cas là.
    Ouais c'est toujours la solution .

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 95
    Par défaut
    Citation Envoyé par xtream
    Bonjour,

    je cherche à faire un equivalent du "eval" javascript.

    Salut,

    Tu as plusieurs possibilités :

    - tu peux faire de la compilation à la volée (un peu lourd pour ce que tu as a faire)

    - tu peux référencer l'activeX vba pour avoir la fonction eval (jamais une trés bonne idée d'utiliser les activex en dotnet)

    - Ou tu peux utiliser une des nombreuses librairies open source d'évaluation genre : http://www.codeproject.com/useritems/eval3.asp

    Voila A+

    Edit : ortho

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. evaluation d'une expression arithmetique
    Par yasmine77 dans le forum C++
    Réponses: 4
    Dernier message: 04/04/2006, 09h11
  2. [Oracle 9i] Evaluation d'une expression
    Par Process Linux dans le forum Oracle
    Réponses: 2
    Dernier message: 21/03/2006, 12h55
  3. Evaluation d'une expression arithmétique
    Par MysticKhal_0 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 10/03/2006, 18h25
  4. Evaluation/simplification d'expression arithmetique
    Par Premium dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 08/12/2005, 12h19
  5. [EXP] Evaluation dans une expression régulière
    Par SergentHeinz dans le forum Langage
    Réponses: 7
    Dernier message: 10/11/2005, 18h17

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