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

VB.NET Discussion :

Enumeration en vb.net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Par défaut Enumeration en vb.net
    Salut,

    Pourquoi je ne peux pas declarer une Enumeration dans une methode?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ' il faut declarer une Enum a l'exterieur de Sub, pq ?
    Enum mention
    Passable
    AssezBien
    Bien
    TrésBien
    Excellent
    End Enum
    Concernant cette partie de code, je declare une variable de type Enum donc cette variable contient-elle tous les champs de Enum ? ou bien tout simplement la valeur Passable?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim maMention As mention = mention.Passable
     
    For Each m In mention.GetValues(maMention.GetType)
    Console.Out.WriteLine(m)
    Next
    Merci d'avances

  2. #2
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 182
    Par défaut
    Bonjour.

    A mon avis, le résultat n'est pas celui que tu attends car getvalues va te rendre le valeur fixée pour chaque membre de l'enum.
    Comme tu n'as pas fixé de valeur, tu dois obtenir 0,1,2,3 ...

    Si tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Enum mention
        Passable = 8
        AssezBien = 10
        Bien = 12
        TrésBien = 14
        Excellent = 16
    End Enum
    Tu auras 8,10,12,14,16.

    A mon avis tu veux plutôt récupérer les noms donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For Each m As String In [Enum].GetValues(GetType(mention))
                Console.Out.WriteLine(m)
    Next
    Et là tu obtiens : passable, Assezbien, ...

    nota : pas besoin de passer par une instance, GetNames ou GetValue sont des méthodes partagées.

    Cdt.

Discussions similaires

  1. [Débat] Technologie .NET vs JAVA
    Par neo.51 dans le forum Débats sur le développement - Le Best Of
    Réponses: 1047
    Dernier message: 14/01/2019, 16h15
  2. [Débat] Expériences au sujet de .NET
    Par DevX dans le forum Débats sur le développement - Le Best Of
    Réponses: 46
    Dernier message: 25/05/2014, 11h16
  3. A ceux qui ont migré de VB6 vers VB.Net
    Par Fox dans le forum VB 6 et antérieur
    Réponses: 81
    Dernier message: 21/05/2008, 14h56
  4. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  5. Fichier PDOXUSRS.NET
    Par yannick dans le forum Paradox
    Réponses: 5
    Dernier message: 05/04/2002, 09h45

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