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

ASP.NET Discussion :

Le type enum


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2011
    Messages : 50
    Points : 42
    Points
    42
    Par défaut Le type enum
    Bonjour, alors voilà, j'n' ai jamais utilisé les énumérations et j'me dis que ce serait p-e le moment de commencer *-)

    En fait j'ai plein de valeurs constantes de type string dans mon application et j'voudrai les regrouper en énumération mais il me dit qu'il accepte que le type int ? Possible ?

    Dans ce cas là, quelle solution intermédiaire je peux utiliser pour regrouper mes constantes ? Une création d'une classe ? Au pire je laisse tout ça comme ça , mais ça ne fait pas très propre ?

    Merci de m'orienter sur la bonne manière à procéder

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par eleve_prog Voir le message
    En fait j'ai plein de valeurs constantes de type string dans mon application et j'voudrai les regrouper en énumération mais il me dit qu'il accepte que le type int ? Possible ?
    Plus précisément, ça ne supporte que les types entiers (pas forcément int, ça peut être byte, sbyte, short, ushort, int, uint, long, ulong).
    Si tes valeurs sont des chaines, je suppose que tu as besoin du contenu de ces chaines, elles ne servent pas juste d'identifiants uniques ? Dans ce cas un enum n'est pas adapté à ton besoin

    Citation Envoyé par eleve_prog Voir le message
    Dans ce cas là, quelle solution intermédiaire je peux utiliser pour regrouper mes constantes ? Une création d'une classe ?
    Oui, tu peux les regrouper dans une classe... après il faut voir si ça a un sens dans ton code.

    C'est quel genre de constantes ? Tu les utilises dans quel contexte ?

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par eleve_prog Voir le message
    En fait j'ai plein de valeurs constantes de type string dans mon application et j'voudrai les regrouper en énumération mais il me dit qu'il accepte que le type int ? Possible ?
    Le type sous-jacent des enum doit en effet être un type intégral, soit (u)int, (u)byte, (u)long ou (u)short.

    Dans ce cas là, quelle solution intermédiaire je peux utiliser pour regrouper mes constantes ? Une création d'une classe ?
    Ce peut être une bonne solution.
    Sinon, il y a les ressources projet qui sont faites un peu pour cela (et qui permettent le cas échéant une traduction aisée).

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2011
    Messages : 50
    Points : 42
    Points
    42
    Par défaut
    C'est un champs en base de donnée... Selon la valeur récupérée dans la base, mon application se déroule différemment. En gros elle me dit à quelle étape se trouve mon application. genre "debut" ,etc

    J'ai mal géré j'aurai du mettre les champs en int dans ma table pour utiliser des enums ! Merci pour la précision sur les enums !

    Oui des ressources , mais la pas besoin de la traduction donc... j'vais pas m'engager la dedans...

    J'vais tenter la classe. Ce serait une interface alors ?

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par eleve_prog Voir le message
    C'est un champs en base de donnée... Selon la valeur récupérée dans la base, mon application se déroule différemment. En gros elle me dit à quelle étape se trouve mon application. genre "debut" ,etc
    Si les valeurs ne comprennent pas d'espace, tu peux utiliser comme nom de l'élément enum le contenu de la chaine.

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    enum Operations
        {
            Debut,
            Fin
        }
     
        Operations operation = (Operations)Enum.Parse(typeof(Operations), maChaineVenantDeLabase); // maChaineVenantDeLabase pouvant être "Debut" ou "Fin"

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  6. #6
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Citation Envoyé par Bluedeep Voir le message
    Si les valeurs ne comprennent pas d'espace, tu peux utiliser comme nom de l'élément enum le contenu de la chaine.

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    enum Operations
        {
            Debut,
            Fin
        }
     
        Operations operation = (Operations)Enum.Parse(typeof(Operations), maChaineVenantDeLabase); // maChaineVenantDeLabase pouvant être "Debut" ou "Fin"
    Bonjour,

    Et pour aller plus loin si jamais tes valeurs ont des espaces (par exemple) ou sont tout et n'importe quoi, dans le cadre d'une application existante, j'avais créé un attribut perso permettant de spécifier pour chaque valeur de l'énumération la ou les valeurs possibles (les car la base était bien pourrie) dans la base de données.

    Ce système me permettait d'avoir un code "propre" tout en étant compatible avec la BDD et avec un certain niveau d'abstraction sur le contenu réel de la base !

Discussions similaires

  1. Probleme type enum
    Par azertyuiop75 dans le forum Oracle
    Réponses: 4
    Dernier message: 08/07/2005, 16h09
  2. type enum
    Par donny dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 17/05/2005, 14h05
  3. 1 champ de type enum à 3 valeurs ou 2 champs booléens ?
    Par El Saigneur dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 22/01/2005, 08h53
  4. [VB.NET] Variable de type enum avec du string
    Par Mouse dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/01/2005, 18h22
  5. [MySQL] Valeur par défaut d'un type ENUM
    Par aliasjcdenton dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/10/2004, 20h44

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