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 :

Comment déclarer une constante hors-objet


Sujet :

C#

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 27
    Par défaut Comment déclarer une constante hors-objet
    Bonjour,

    Je cherche à savoir comment on fait pour déclarer une constante en dehors d'un objet. La seul façon que je connais est de déclarer à l'intérieur d'un objet. En globale, le compilateur génère une erreur.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public class maclasse
    {
       public const string valeur = "asdf";
    }

    Je voudrais la déclarer directement dans le namespace.

    Quelqu'un a une idée?

  2. #2
    Membre Expert Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Par défaut
    Je ne crois pas que ca soit possible...
    Tu veux faire quoi exactement ?
    Si c'est avoir une variable globale, tu peux te faire une classe pour ca...
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public static class CeQueTuVeux
    {
        public static string valeur = "asdf";
    }
    et ensuite tu appelle ta variable comme ca :

  3. #3
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Tout est objet en C#. Pas de méthode ni de variable globale.

  4. #4
    Membre éclairé Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Par défaut
    Euh, tu peux mais c'est pas très beau:
    Dans les Settings tu définit ta constance, du coup ça sera dans un fichier XML
    A toi de voir. Pour y acceder tu devra faire Properties.Setting.Defaut.CONSTANTE

    Voilou!!

  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
    Citation Envoyé par padodanle51 Voir le message
    Euh, tu peux mais c'est pas très beau:
    Dans les Settings tu définit ta constance, du coup ça sera dans un fichier XML
    A toi de voir. Pour y acceder tu devra faire Properties.Setting.Defaut.CONSTANTE
    Ah ? et donc pour toi ça représente quoi "Properties.Settings.Default" à part un objet ?

  6. #6
    Membre éclairé Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Par défaut
    Ben au moins c pas dans une de ses classes. Mais tu as tout fait raison, c'est un objet

  7. #7
    Membre éprouvé Avatar de Onlava
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 92
    Par défaut
    Dailleurs c'est bien dommage que cela ne soit pas permis.
    C'est pratique pour pouvoir accéder a des signgletons en c++ (genre #define maFactory Factory::getSingletonPtr()).
    En c# on est obligé de se taper des noms de 25 caractères, ou alors utiliser des noms d'objets tellements courts qu'ils ne signifient plus grand chose

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2008
    Messages : 27
    Par défaut
    Quel interraction entre membres
    merci à tous, c'est ce que je pensais: pas possible. J'avais pensé à l'idée de Tober mais enfin, j'espérais trouver encore plus simplette!

  9. #9
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Il n'y a pas de notion de module en c# ?

  10. #10
    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
    Citation Envoyé par Kelpan Voir le message
    Il n'y a pas de notion de module en c# ?
    ça changerai quoi ?

  11. #11
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Citation Envoyé par Onlava Voir le message
    Dailleurs c'est bien dommage que cela ne soit pas permis.
    C'est pratique pour pouvoir accéder a des signgletons en c++ (genre #define maFactory Factory::getSingletonPtr()).
    Un #define ! Argh, mes yeux !
    Citation Envoyé par Onlava Voir le message
    En c# on est obligé de se taper des noms de 25 caractères, ou alors utiliser des noms d'objets tellements courts qu'ils ne signifient plus grand chose
    Beh tes classes c'est toi qui les nommes, non ?

  12. #12
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Citation Envoyé par smyley Voir le message
    ça changerai quoi ?
    Un module n'a pas besoin d'être instancié.
    Toutes les méthodes déclarées à l'intérieur sont toutes partagées.

  13. #13
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Citation Envoyé par Kelpan Voir le message
    Un module n'a pas besoin d'être instancié.
    Toutes les méthodes déclarées à l'intérieur sont toutes partagées.
    Les classes statiques (ou du moins dont tous les membres sont statiques) font l'affaire. cf System.Math, par exemple.

  14. #14
    Membre Expert Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Par défaut
    Citation Envoyé par jimbolelephan
    J'avais pensé à l'idée de Tober mais enfin, j'espérais trouver encore plus simplette!
    Tu veux quoi de plus simple et de plus propre ?
    C'est vrai que c'est tellement long a instancie ce que j'ai dis (au moins les 10s que ca m'a prit a tape )

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

Discussions similaires

  1. Comment déclarer une variable binaire?
    Par Pragmateek dans le forum C++
    Réponses: 12
    Dernier message: 22/03/2006, 17h35
  2. Réponses: 5
    Dernier message: 20/09/2005, 22h48
  3. [Property] Comment déclarer une chaine par defaut ?
    Par Clorish dans le forum Composants VCL
    Réponses: 8
    Dernier message: 07/09/2004, 22h11
  4. Comment déclarer une DataSource dans server.xml
    Par guillaume06 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 16/06/2004, 14h27

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