Conversion et type générique
Bonjour,
Je souhaite écrire une fonction générique qui convertit un objet en objet de type générique.
J'ai donc écrit la fonction suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| private T Convert<T>(object oValue)
{
T tValue = default(T);
try
{
tValue = (T)oValue;
}
catch(InvalidCastException iceException)
{
if(typeof(T) == typeof(int))
tValue = (T)System.Convert.ToInt32(oValue);
else if(typeof(T) == typeof(double))
tValue = (T)System.Convert.ToDouble(oValue);
else
throw iceException;
}
return tValue;
} |
Mais j'ai l'erreur du compilateur suivante :
Citation:
Impossible de convertir le type 'int' en 'T'
sur l'instruction
Code:
tValue = (T)System.Convert.ToInt32(oValue);
Y'a t'il un moyen pour faire cela?
Merci