Je ne sais pas exactement quelles sont vos exigences, en particulier le peu sur ToList
ne pas faire ce que vous avez besoin.
Malheureusement, BindingList<T>
accepte uniquement un paramètre IList<T>
dans son constructeur et non un IEnumerable<T>
.
Cependant, si vous implémentez un constructeur pass-through sur votre collection personnalisée (ou si elle a déjà un constructeur qui prend IList<T>
) alors vous pourriez faire quelque chose de semblable à ceci:
public class MyListObject<T> : BindingList<T>
{
public MyListObject() : base() { }
public MyListObject(IList<T> list) : base(list) { }
}
// ...
MyListObject<int> yourList = new MyListObject<int> { 1, 2, 3, 4, 5 };
yourList = new MyListObject<int>(yourList.Select(s => s * 2).ToList());
// yourList now contains 2, 4, 6, 8, 10
C'est ce que j'aurais utilisé sans poser la question ici. J'ai demandé à être sûr que Linq n'a pas quelque chose que je n'ai pas vu. Mais bien :) Thx pour l'entrée. +1 et la réponse –