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 :

Faire des sous-types de enum


Sujet :

C#

  1. #1
    Membre actif
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Août 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Août 2005
    Messages : 45
    Par défaut Faire des sous-types de enum
    Bonjour,

    Je souhaiterai faire des sous-types d'enum, si celà est possible.

    Je m'explique :

    J'ai deux types d'enum : des formats d'images (qui contient bmp, jpeg, etc...) et des formats audio (mp3, wav,...).

    Mon problème est le suivant :

    Je souhaite faire un tableau qui contiendra soit des formats images, soit des formats audio.

    J'ai tenté de déclarer une classe Format, dans laquelle je définissait un enum Images et un enum Audio.

    Je déclare ensuite mon tableau de type Format, mais j'obtiens un "Impossible de convertir le type Format.Image en Format"...

    Ma question est onc la suivante : peut on faire un enum qui contiendra des sous types, afin de pouvoir le stocker dans un tableau indiféremment de leur sous-type ?

    Au pire, je déclarerai le tableau en object[], mais si je peux éviter d'en passer par là, ca serait bien...

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Utilise les liste génériques pour stockés dedans uniquement le type d'objet que tu veux:

    List<Images>
    List<Audio>


    Etc...

  3. #3
    Membre actif
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Août 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Août 2005
    Messages : 45
    Par défaut
    Le problème n'est pas de faire une liste contenant un type, mais de faire une liste pouvant contenir soit un type, soit l'autre, indifféremment.

    c'est à dire qu'elles doivent pouvoir contenir soit un FormatImage, soit un FormatAudio, mais rien d'autre (c'est pour celà que je voudrait éviter le object[])...

    En fait, il me faudrait une sorte d'héritage sur les enum...

  4. #4
    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 Epok__ Voir le message
    En fait, il me faudrait une sorte d'héritage sur les enum...
    Non ça c'est pas possible, les enums c'est fixe, on peut pas les changer.
    Pour résoudre ton problème il faudrait que tu utilises des classes
    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
     
    class ObjetMultimedia
    {
    }
     
    class Image : ObjetMultimedia
    {
    }
     
    class Video : ObjetMultimedia
    {
    }
     
    List<ObjetMultimedia> choses = new ...
     
    et ensuite
    if(choses[0] is Image)
    {
    }
    else
    ...

  5. #5
    Membre actif
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Août 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Août 2005
    Messages : 45
    Par défaut
    Merci pour cette réponse, c'est une bonne solution.

    Mon erreur a été de partir sur des enum (rélfexe de mes cours de java) alors qu'il y à bien d'autres implémentations possible.

    Merci.

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

Discussions similaires

  1. Faire des sous totaux
    Par Niagala dans le forum Excel
    Réponses: 3
    Dernier message: 07/02/2008, 14h52
  2. [Etat] Faire des sous totaux
    Par SBranchu dans le forum IHM
    Réponses: 3
    Dernier message: 30/03/2007, 09h50
  3. [MySQL] Comment faire des sous-totaux ?
    Par renaud26 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/02/2006, 15h56
  4. [Debutant] Comment faire des sous-packages
    Par benratti dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 17/02/2005, 13h46

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