Je voudrais convertir T en T [] s'il s'agit d'un tableau.C#: Convertir T en T []
static T GenericFunction<T>(T t)
{
if (t == null) return default(T);
if (t.GetType().IsArray)
{
//if object is an array it should be handled
//by an array method
return (T) GenericArrayFunction((T[])t);
}
...
}
static T[] GenericArrayFunction<T>(T[] t)
{
if (t == null) return default(T);
for (int i = 0 ; i < t.Length ; i++)
{
//for each element in array carry
//out Generic Function
if (t[i].GetType().IsArray())
{
newList[i] = GenericArrayFunction((T[])t[i]);
}
else
{
newList[i] = GenericFunction(t[i]);
}
}
...
}
Erreur Si je tente (T []) t
Impossible de convertir le type 'T' 'T []'
Erreur Si je viens essayer à transmettre t
Les arguments de type pour la méthode 'GenericAr rayFunction (T []) 'ne peut pas être déduit de l'utilisation. Essayez de spécifier explicitement les arguments de type.
Veuillez fournir le contexte. –
Si 'T' est un tableau,' T [] 'est un tableau de tableaux. Ce n'est probablement pas ce que vous attendiez. – Gabe
Si 'T' est un tableau alors' T [] 'est un tableau de tableaux. Je doute que ce soit ce que tu veux. Voulez-vous dire que si T est un tableau de type U d'un type inconnu, alors vous voulez le type "array of U", 'U []'? – jalf