Bon, je me retrouve face à plein de problèmes aujourd'hui... J'arrive à en résoudre la plupart en les contournant, bien que ce soit moins sympa, mais certains subsistent, dont celui-ci :Comment utiliser un type qu'on ne connait pas à la compilation?
structure est un tableau d'objets qui possedent une variable Type de type Type (comme Champ), donc stocke un type.
Le problème est que pour créer l'objet Champ, je dois en connaitre le type, mais celui-ci n'est pas connu à la compilation.
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 Type t = (structure[num].Type); champs.Add(nom, (object)new Champ<t>(nom)); ... public class Champ<T> { public Type Type = typeof(T); public string Nom; public Champ(nom) { Nom = nom ; } .... }
Le compilateur n'est pas content :
Erreur 1 : Le type ou le nom d'espace de noms 't' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)
Est-il possible de résoudre l'erreur? Ou dois-je me résigner à oublier le type ?
(j'ai bien entendu énormément raccourci pr la lisibilité, il y a une boucle traitant plusieurs objets, etc...)
Partager