Bonjour,
J'ai une classe abstraite MyAdstract qui contient un certain nombre de propriétés et méthodes, y compris statiques.
J'ai une classe générique MyGeneric<T> where T : MyAbstract
Je souhaite dans des méthodes de MyGeneric appeler des propriétés ou méthodes statiques de T
Par exemple :
Code csharp : 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
22
23
24
25
26
27
28
29
30
31
32
33 abstract class MyAdstract { public static string Name = "undefined"; } abstract class MyGeneric<T> where T : MyAdstract { List<T> MaListe; public MyGeneric() { } public string ListeDeQuoi() { return T.Nom + "s"; } } public class Voiture : MyAbstract { public new static string Nom = "Voiture"; } public class Train : MyAbstract { public new static string Nom = "Train "; } MyGeneric<Voiture> Voitures = new MyGeneric<Voiture>(); Console.WriteLine(Voitures.ListeDeQuoi());
Je voudrais récupérer "Voitures" en sortie.
Sauf que dans ListeDeQuoi() monsieur le compilateur veut pas que j'utilise T... C'est un "paramètre de type" et non un "type" qu'il me dit
Partager