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 :

[C#] Tableau de classes?


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Points : 56
    Points
    56
    Par défaut [C#] Tableau de classes?
    Est-il possible de créer un tableau de classes ?
    En gros j'ai plusieurs classes statiques qui étendent une classe modèle, j'aimerais les mettre dans un tableau, afin d'y accéder par un index.

    Quelqu'un saurait-il si cela est possible?
    Merci d'avance

  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    un tableau (array) doit être typé donc je ne suis pas sûr que tu puisse mettre tout et n'importe quoi dedans. les collections style hashtable seront p-e plus adéquats.

    par contre, quel est l'intérêt de la manipulation? tu devras faire un cast explicite à chaque fois pour utiliser les méthodes. Si tes méthodes sont statiques, elles sont faites pour être appelées directement non?
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  3. #3
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 163
    Points : 112
    Points
    112
    Par défaut
    pourquoi tu ne passes pas des délégués vers les méthodes plutot ?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Points : 56
    Points
    56
    Par défaut
    ça me sert à avoir n types de données différents, mais de même structure (classe abstraite, donc méthodes communes), et le fait de les indexer me permet d'appliquer un traitement à tous les types existants, sachant que des instances d'objets correspondant à ces n types sont stockées dans n tableaux différents, tout est indexé, sauf les classes...
    Je ne pense pas avoir été très clair, mais au final cela me permettrait d'automatiser un peu plus.
    Cependant, même avec les hashtable je n'arrive pas à stocker une classe, ou même une référence de classe.
    A moins de trouver une autre solution, je crois que je vais devoir rendre mes méthodes non statiques et créer un objet pour chaque classe.


    J'aurais une petite question supplémentaire : Comment est-il possible (ou est-il posible??) de déclarer un type enum vide dans une classe abstraite ou une interface?
    Et récupérer un truc du genre enum.length? ou foreach (.. in enum)?

  5. #5
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Si j'ai bien compris toutes ces classes dérivent d'une même classe abstraite ?

    Dans ce cas là, pourquoi ne pas de liste de ces classes ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  6. #6
    Membre régulier Avatar de DonkeyMaster
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 95
    Points : 110
    Points
    110
    Par défaut
    Dans le langage C#, les classes statiques ne peuvent pas être dérivées d'une autre classe. Si tu essaies, le compilateur retournera une erreur.

    Est-ce que ce détail fera s'effondrer toute ta conception ? Non!
    Tu dois utiliser une liste d'objets, comme on t'a proposé plus haut.
    Si tous ces objets ont des comportements complètement différents, tu pourrais utiliser une interface simple, puis créer une classe par objet.
    Si au contraire, il y a des ressemblances entre objets, tu peux réduire le nombre de classes.

    Si tu te sens courageux, tu peux faire appel à des Delegates, ou à de la Réflection (mais c'est souvent exagéré).

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par DonkeyMaster Voir le message
    Dans le langage C#, les classes statiques ne peuvent pas être dérivées d'une autre classe. Si tu essaies, le compilateur retournera une erreur.

    Est-ce que ce détail fera s'effondrer toute ta conception ? Non!
    Tu dois utiliser une liste d'objets, comme on t'a proposé plus haut.
    Si tous ces objets ont des comportements complètement différents, tu pourrais utiliser une interface simple, puis créer une classe par objet.
    Si au contraire, il y a des ressemblances entre objets, tu peux réduire le nombre de classes.

    Si tu te sens courageux, tu peux faire appel à des Delegates, ou à de la Réflection (mais c'est souvent exagéré).
    Merci bien, c'est ce que j'avais fait. Je me suis effectivement rendu compte qu'on ne pouvait pas voir de classe statique dérivée d'une autre classe, je suis donc passé aux objets.

  8. #8
    Membre régulier Avatar de DonkeyMaster
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 95
    Points : 110
    Points
    110
    Par défaut Résolu ?

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

Discussions similaires

  1. accesseur tableau de class A dans une class B
    Par dropsoil dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/05/2009, 21h06
  2. [POO] Tableau et classe
    Par altair8080 dans le forum Langage
    Réponses: 4
    Dernier message: 14/12/2006, 16h32
  3. Réponses: 5
    Dernier message: 11/05/2006, 14h15
  4. Suppression d'un tableau de classe de la memoire
    Par jhary07 dans le forum Framework .NET
    Réponses: 2
    Dernier message: 14/11/2005, 08h23
  5. tabeau de classe = tableau de classe
    Par Bason_sensei dans le forum C++
    Réponses: 25
    Dernier message: 12/10/2005, 13h01

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