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 : 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
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 :
Impossible de convertir le type 'int' en 'T'
sur l'instruction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
tValue = (T)System.Convert.ToInt32(oValue);
Y'a t'il un moyen pour faire cela?
Merci