Bonjour,
Je cherchais à faire une fonction MAx avec un type générique de façon à ne pas réinventer la poudre.
Voilà la fonction que j'ai écrite
Elle ne compile pas message d'erreur:
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
19
20
21
22
23
24
25 /// <summary> /// Renvoie le max de deux valeurs nullables /// </summary> /// <typeparam name="T">type de base</typeparam> /// <param name="val1"></param> /// <param name="val2"></param> /// <returns></returns> public static T? Max<T>(T? val1, T? val2) where T : IComparable { T? retVal = null; if (val1 == null) retVal = val2; if (val2 == null) retVal = val1; if ((val1.HasValue) && (val2.HasValue)) { if (val2.Value.CompareTo(val1.Value) < 0) retVal = val1; } return retVal; }
En revanche je ne vois pas quelle sotise j'ai commise, je m'en remet donc à vous.Erreur 89 Le type 'T' doit être un type valeur non nullable afin d'être utilisé comme paramètre 'T' dans le type ou la méthode générique 'System.Nullable
Merci
Soazig






Répondre avec citation



Pas de questions techniques par MP ! Le forum est là pour ça...

Partager