Bonjour,
Avec le bout de code suivant, j'ai cherché à écrire une fonction d'extension au type IEnumerable FirstOrNew qui renvoie le 1er objet de la liste ou un objet crée si la liste est vide.
Ensuite, je cherche à reécrire FirstOrNewSup avec une caractéristique supplémentaire. Par exemple, si mes T sont des comptes avec une propriété balance, je cherche à ce que FirstOrNewSup me renvoie le 1er compte avec plus de 100€ en balance!
Mais j'ai une erreur de compilation car le FirstOrNew(); de la fonction d'extension FirstOrNewSup<T> est inconnue?!
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 public static T FirstOrNew<T> (this IEnumerable<T> list) //on suppose quele type qu'on manipule possède un constructeur par défaut where T:new () { if (list == null) { return new T(); } else { return list.First(); } } public static T FirstOrNewSup<T>(this IEnumerable<T> list, Func<T, bool> selector) { return list.Where(selector).FirstOrNew(); }
Quelqu'un a une idée?
Merci d'avance!![]()
Partager