Bonjour,
Je suis sur un problème assez épineux.
Je voudrais passer un type (au format : Type monType) à une fonction ayant une signature comme cela :
En fait, l'idée générale est de charger une liste d'objet dans une propriété d'un objet. Via un attribut, je définis que telle propriété, s'associe à tel type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 List<T> MaFonction<T>(params) { ... }
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 class Marque { public int Identifiant { get; set; } public string Nom { get; set; } } class Utilisateur { public string Nom { get; set; } [MonAttributType(typeof(Marque))] public IEnumerable<Marque> Marques { get; set; } }
Et de manière générique, allez charger par utilisateur, sa liste de marque, en utilisant la fonction utilisé plus haut. Et c'est là que je n'arrive pas à relayer l'information à ma fonction pour lui dire que je veux une liste d'un certain type connu... Un peu de cette manière :
En gros, c'est du mapping DB <-> Classe objet, et jusqu'à maintenant, je gérais seulement les objets "plats". Je souhaite maintenant gérer les objets complexes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 foreach(Property p in Utilisateur.GetProperties()) { if(p.GetAttributes<MonAttributType>() != null) { Type monType = p.GetAttributes<MonAttributType>().First().MonType; // là je dois appeler ma fonction citée plus haut, en lui passant le type définit par l'attribut de propriété avec ce genre d'appel, mais non supporté var monResultat = MaFonction<monType.GetType()>(mesDonnees); } }
Merci à vous d'avance
Partager