web-dev-qa-db-fra.com

Convertir IList <T> en BindingList <T>

Comment puis-je lancer un IList<Customer> liste à BindingList<Customer>?

17
Masoud
var yourList = new List<Customer>();
var listBinding = new BindingList<Customer>(yourList);

Constructeurs BindingList

Vous n'avez pas besoin de faire un casting, fournissez simplement le BindingList<T> constructeur de classe avec IList<T>, que vous avez.

72
LukeHennerley

Malheureusement, vous ne pouvez pas lancer un IList sur quelque chose qui ne l'est pas. Cependant, vous pouvez créer une nouvelle BindingList assez facilement en passant simplement votre IList dans son constructeur.

BindingList<Customer> bindingList = new BindingList<Customer>(yourIList);
9
Evelie

BindingList constructeur prend IList paramètre, utilisez-le:

var binding = new BindingList<Customer>(list); //where list is type of IList<Customer>
6
gzaxx
        IList<Customer> list = new List<Customer>();

        var bindingList = new BindingList<Customer>(list);
5
Mitch Wheat

Informations supplémentaires: IBindingList hérite de IList: donc IBindingList partage toutes les propriétés et signatures de fonction avec IList. Ainsi, les implémentations IList peuvent facilement "s'adapter" aux implémentations IBindingList.

1
Michael Colorado