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 :

Variable defini lors de la compilation


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut Variable defini lors de la compilation
    Salut

    Comment peut on faire pour positionner une variable avec une valeur au moment de la compilation ?

    Par exemple : enregistrer dans mon app le nombre de proc de ma machine et pouvoir la recuperer lors de l execution sur d autres machines ...

    thx ++

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    humf... là suis pas sure de bien comprendre où tu veux en venir...

    Si je ne m'abuse le nombre de processeurs sur une machine n'est pas une constante unique, car ce nombre change d'une machine à l'autre.
    Par conséquent cette valeur NE SAURAIT ETRE FIXEE à la compilation !

    ensuite est ce réellement compliké de faire "a = 1" pour affecter une valeur à la compilation ? car c'est ce que je viens de faire... là..;
    A mon avis ce n'est pas cela que tu cherche.

  3. #3
    Membre éprouvé Avatar de Seth77
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2005
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 448
    Par défaut
    J ai pris le nombre de proc comme exemple ...

    J aimerais faire a=pimpampoum() ... mais la valeur de pimpampoum() depend de la machine ... et j aimerais qu il garde la valuer de pimpampoum() que j obtient lors du build

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Par défaut
    ah... je crois que je commence à comprendre !!!

    la valeur de pimpampou dépend de la machine sur laquelle tu développe et tu souhaite que cette valeur devienne une "valeur" gravée dans le marbre à la compilation pour etre utilisée sur les machines clientes...

    c'est là que la réponse con arrive... le probleme c'est que lorsqu'il compile

    machin = trucmuche(bidule);

    Il compile affectation à machin du résultat de l'appel à la fonction trucmuche à qui on passe bidule.

    En effet, le compilateur n'exécutera pas trucmuche pour en extraire la valeur et la définir comme constante lors de la compilation.
    Cependant il y a peut etre un début de réponse à ta question avec des technologies comme System.CodeDom ou System.Reflexion.Emit

  5. #5
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    tu pourrai passer par un petit exe que tu appellerai lors de la compilation comme action "pre-build", enfin, avant la compilation, et qui génèrerai un petit fichier cs que tu aurai inclut dans ton projet. Tu n'as pas forcément besoin de CodeDom, tu pourrais faire un template du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    using ...
    namespace ..
    {
      static class Consts
      {
         public static int maValeur
         {
           get { return #TAG#;}
         }
       }
    }
    et ensuite faire un String.Replace(new string[]{"#TAG#"},...);

    Tu pourrai aussi générer un fichier xml, toujours lors de la compilation, et l'inclure dans ton projet comme resource ...

    En espérant t'aider

Discussions similaires

  1. Réponses: 11
    Dernier message: 07/12/2011, 07h11
  2. Réponses: 7
    Dernier message: 27/09/2005, 21h40
  3. [Debutant] probleme lors de la compilation
    Par boobi dans le forum Débuter
    Réponses: 5
    Dernier message: 26/08/2005, 15h57
  4. [MYSQL] Probleme lors de la compilation
    Par Nasky dans le forum Autres éditeurs
    Réponses: 10
    Dernier message: 24/02/2004, 17h04
  5. Warnings lors de la compilation
    Par polo54 dans le forum C
    Réponses: 5
    Dernier message: 07/02/2003, 09h12

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