cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008
-
16 nov. 2006 à 22:39
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008
-
17 nov. 2006 à 14:42
Bonjour,
je cherche avec les génériques à obtenir le type de l'objet auquel un tableau fait référence.
Je m'explique. Je veux créer une méthode générique qui reçoit en paramètre un tableau d'objets. Puis à l'intérieur de ma méthode, je souhaite créer une liste générique de ces objets. Il me faut pour créer cette liste obtenir le type des objets contenus dans mon tableau passé en paramètre. Voici à quoi ressemble de code :
public static T MaMethode<T>(T table) where T : IEnumerable
{
List<?> OutputTable = new List<?>(table1);
...
par exemple T pourrait être de type string[], il me faut alors récupérer le type string dans ?.
Savez-vous comment faire ?
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008 16 nov. 2006 à 23:52
non parce que table est un tableau et le type paramètre de liste n'en est pas. Par exemple supposons que j'appelle ma méthode comme celà :
MaMethode<string[]>(matable)
MaTable est de type string[], donc T est le type string[]. Or je veux que OutputTable soit de type List<string> et si j'écris List<T>, c'est en fait List<string[]>. Il faut donc que je récupère le type string.
cs_mathmax
Messages postés403Date d'inscriptionvendredi 28 octobre 2005StatutMembreDernière intervention31 août 2008 17 nov. 2006 à 14:42
oh non j'étais persuadé d'avoir écris ça. Mais en fait j'avais écris :
public static T MaMethode<T[]>(T[] table) ce qui évidement génère une erreur à la compilation...
Je suis vraiment désolé de vous avoir dérangé.
Merci pour votre aide en tout cas.