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 :

Enumération de structures


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Par défaut Enumération de structures
    Bonjour
    Est-il possible d'énumérer des structures?
    L'exemple suivant ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	Public Structure Parameter
    		Dim a As Integer
    		Dim b As String
    	End Structure
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	Public Enum Parameters As Parameter
    		x = 0
    		y
    	End Enum
    car VB dit que
    les enum doivent être déclarés en type intégral
    Il me semblait avoir vu quelque part qu'il était possible de définir une variable par défaut dans une structure. Je me trompe?

    J'ai essayé çà, mais c'est pas mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	Public Structure Parameter
    		Private _a As Integer
    		Default Public Property a(ByVal ValA As Integer) As Integer
    			Get
    				Return _a
    			End Get
    			Set(ByVal value As Integer)
    				_a = value
    			End Set
    		End Property
    		Dim b As String
    	End Structure
    Tout conseil sera apprécié!
    Merci

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    qu'est ce que tu veux faire?

  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 : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Pas bien clair ce que tu veux faire; merci de préciser un peu plus.

    Comme tu l'as dit un Enum ne peut avoir comme type sous-jacent qu'un type ordinal.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Par défaut
    Je veux pouvoir créer de petits objets comprenant un numéro d'ordre unique et une étiquette sous forme de string de manière à les utiliser soit comme constantes comme çà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (variable = x.a) then
    endif
    soit comme çà

    ou les deux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (variable = x.a) then
      textbox.text = x.b
    endif

  5. #5
    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 : 43
    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
    Par défaut
    Citation Envoyé par vibimi Voir le message
    Est-il possible d'énumérer des structures?
    "énumérer" signifie autre chose que ce que tu cherches à faire... on parle d'énumérer une collection, par exemple.

    Toi tu cherches à définir type enum basé sur une structure, et ce n'est pas possible, car :
    Citation Envoyé par vibimi Voir le message
    "les enum doivent être déclarés en type intégral"
    Donc en gros les seuls types de base autorisés pour les enums sont Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, et UInt64

    Citation Envoyé par vibimi Voir le message
    Je veux pouvoir créer de petits objets comprenant un numéro d'ordre unique et une étiquette sous forme de string de manière à les utiliser soit comme constantes comme çà
    Crée une classe (ou structure si tu préfères) avec des champs Shared ReadOnly

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Citation Envoyé par vibimi Voir le message
    Je veux pouvoir créer de petits objets comprenant un numéro d'ordre unique et une étiquette sous forme de string de manière à les utiliser soit comme constantes comme çà
    Un dictrionay?

  7. #7
    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 : 43
    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
    Par défaut
    Pour illustrer ce que je disais avant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Public Structure Parameter
     
        Private _value As Integer
     
        Public Sub New(ByVal value As Integer)
            _value = value
        End Sub
     
        Public ReadOnly Property Value As Integer
            Get
                Return _value
            End Get
        End Property
     
        Public Shared ReadOnly A As New Parameter(42)
        Public Shared ReadOnly B As New Parameter(999)
     
    End Structure
     
    ...
     
    Dim x = Parameter.A
    Dim y = Parameter.B
    C'est le même principe que Int32.MaxValue, IntPtr.Zero ou DateTime.MinValue par exemple

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 3
    Par défaut
    Citation Envoyé par tomlev Voir le message
    C'est le même principe que Int32.MaxValue, IntPtr.Zero ou DateTime.MinValue par exemple
    I got it right! OK, j'ai pigé Merci pour le tuyau

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

Discussions similaires

  1. recuperation de la structure d'une base
    Par pascalT dans le forum 4D
    Réponses: 7
    Dernier message: 07/06/2006, 15h32
  2. [tables systèmes] extraction de la structure d'une base
    Par laffreuxthomas dans le forum Autres SGBD
    Réponses: 6
    Dernier message: 23/03/2006, 13h24
  3. [VB6] [Fichier] Enregistrer des variables de structure
    Par de.bo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 07/10/2002, 11h09
  4. Structure de données de type "RECORD"
    Par chaours dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/09/2002, 17h10
  5. longueur d'une structure
    Par bohemianvirtual dans le forum C
    Réponses: 6
    Dernier message: 28/05/2002, 18h31

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