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
Version imprimable
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
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?
pourquoi tu ne passes pas des délégués vers les méthodes plutot ?
ç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)?
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 ?
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é).
:resolu: