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#] Variable static


Sujet :

Windows Forms

  1. #1
    Membre actif Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Points : 217
    Points
    217
    Par défaut [C#] Variable static
    Bonjour,

    J'arrive pas à faire la correspondance entre JAVA et C# sur ce point :

    J'aimerais avoir une interface qui contienne des valeurs statics.

    ex : en Java, je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     static final MYCONST = 1;
    et ensuite dans une autre classe je peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if interface.MYCONST == ...
    Pouvez vous m'aider svp?
    merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    C'est impossible en C#.
    Une interface ne peut pas contenir de champs, a fortiori de champs static et initialisés.
    On ne peut pas faire boire un âne qui n'a pas soif.

  3. #3
    Membre actif Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Points : 217
    Points
    217
    Par défaut
    ya t-il une équivalence pour ce que je veux faire ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Pour le savoir, il faudrait nous dire ce que tu veux faire.
    On ne peut pas faire boire un âne qui n'a pas soif.

  5. #5
    Membre actif Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Points : 217
    Points
    217
    Par défaut
    je pensais avoir été clair autant pour moi.

    Alors je veux en fait pouvoir utiliser des constantes pour une série de classe.

    Pas d'héritage possible car mes classes ont déjà un héritage et je veux que mes constantes s'utilise comme :
    je veux que à partir d'une autre classe faire un truc du style :
    LaClassAvecCste.MACONSTANTE ;

  6. #6
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Une classe statique avec des variables membres constantes suffirait, les constantes étant statiques par définition si je ne me trompe pas.
    Pas d'héritage possible ...
    Utilise le mot clé sealed pour déclarer qu'une classe ne peut être dérivée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static sealed class ConstantClass
    {
        public const int MACONSTANTE = 1;
    }
    Au passage, si tes constantes sont d'un même type et peuvent être rangées dans une même "catégorie", tu peux peut être utiliser une énumération pour répondre à ton besoin, comme dans ton exemple du MessageBoxIcon.Warning.

    Voici un exemple bidon pour créer une énumération
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    enum Couleur : int { Rouge = 1, Bleu = 4 };
    Tu peux préciser le type des membres de l'énumération, ici int, et la valeur de chaque membre.
    Pas de questions techniques par MP

  7. #7
    Membre actif Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Points : 217
    Points
    217
    Par défaut
    Sais tu comments à été implémenter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MessageBoxIcon.Warning
    MessageBoxIcon.Error
    Car en gros je veux juste faire ça.

    Je sais pas si enumération ou pas

  8. #8
    Futur Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Implémentation
    Oui, MessageBoxIcon.Warning,... sont des constantes d'une énumération(comme en C/C++)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public enum MessageBoxIcon
    {
    Warning,
    Error,
    ...
    }

  9. #9
    Membre actif Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Points : 217
    Points
    217
    Par défaut
    OK merci

    c'est parfait

  10. #10
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    C'est une énumération et cette page de la MSDN devrait te suffir
    Pas de questions techniques par MP

  11. #11
    Membre actif Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Points : 217
    Points
    217
    Par défaut
    Petit souci : besoin que mes valeurs soients des chaines de caractères et enum il veut pas !!

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Pour reprendre ce qu'a écrit StormimOn

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public static class Constantes
    {
        public static string Mess1 = "mon message";
    }
    à utiliser comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String s = Constantes.Mess1;
    On ne peut pas faire boire un âne qui n'a pas soif.

  13. #13
    Membre actif Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Points : 217
    Points
    217
    Par défaut
    Merci,

    ça marche nikel

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

Discussions similaires

  1. Extraire d'un fichier.h des variables static ?
    Par Battosaiii dans le forum C
    Réponses: 1
    Dernier message: 14/03/2006, 15h43
  2. [C++] Pb avec les variable static dans les classe
    Par quantik-revolution dans le forum C++
    Réponses: 3
    Dernier message: 03/03/2006, 18h40
  3. [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
  4. [héritage] héritage d'une variable static
    Par yaya44 dans le forum Langage
    Réponses: 14
    Dernier message: 29/09/2004, 13h36
  5. Variable static avec thread
    Par oxor3 dans le forum Threads & Processus
    Réponses: 7
    Dernier message: 27/08/2004, 11h45

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