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 :

Reflexion et ICompiler


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur .Net, Administrateur système
    Inscrit en
    Octobre 2003
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .Net, Administrateur système
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 219
    Par défaut Reflexion et ICompiler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    @"using System;
    public class Eval {{
    public static Double Calc({0}) {{
    return {1};
    }}
    }}";
    j'ai utilisé ce bout de code trouvé sur le net (M. Furuta) pour évaluer du code inconnu avant la compilation et j'aimerai le faire évoluer mais je bloque.
    Je souhaiterai inclure des if, else et autre friandises mais je n'arrive pas à le faire.

    Le code ci dessus est en fait un code mis dans une chaîne de caractère qui sera compilée et executé par compiler en utilisant reflexion etc...

    Bref, si vous pouvez m'aider, je vous en remercie par avance..!

  2. #2
    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
    Par défaut
    t'es sur de ce que tu dis quand tu parles de reflection ?

    Parce que pour moi, faire de la compilation en run-time, c'est pas necessairement en lien avec la reflection...(mais ca peut )

    A mon avis, recherche sur le net sur la compilation au run-time ou bien
    sur les objets C# liés à la compilation (Compiler et autres)

    LA théorie est relativement simple :

    Tu construis dans une chaine (je conseille l'usage d'un stringBuilder) le code
    que tu "aurais" tapé sous un éditeur de texte (IDE visual par exemple) (avec
    les includes qui vont bien etc), et ensuite, tu compiles avec les classes fournis par microsoft (ya des exemples dans le msdn

    Voila, donc inclure des if, else, etc.. c'est pas plus complexe que l'exemple que tu nous à montrer

    The Monz, Toulouse

  3. #3
    Membre éclairé
    Profil pro
    Développeur .Net, Administrateur système
    Inscrit en
    Octobre 2003
    Messages
    219
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .Net, Administrateur système
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 219
    Par défaut
    c'est juste theMonz31, la reflexion n'a pas forcément à intervenir avec la compilation en run-time. Dans l'exemple que j'ai donné, elle est utilisé mais j'ai trouvé d'autres exemples qui marchent tout autrement:

    Compilation run-time
    Création d'un fichier exe (ou pas, mais création d'un fichier temporaire)
    Création d'instance
    Execution

    le hic, c'est cette création de fichier temporaire qui me prend du temps de traitement dont je me passerai bien. Ce dont j'ai besoin, c'est d'évaluer une expression de calcul comprenant des parentheses, opérateurs (+, - >, !=) , booléen, Et, Ou...

    Bref, merci pour ton aide ;

Discussions similaires

  1. [VB.NET]Reflexion lister les membres d'une classe ...presque
    Par lucie.houel dans le forum ASP.NET
    Réponses: 19
    Dernier message: 20/09/2005, 13h49
  2. [débat] Reflexion sur « quel langage ?»
    Par jack69 dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 23/05/2005, 08h30

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