Comment puis-je lancer un IList<Customer>
liste à BindingList<Customer>
?
var yourList = new List<Customer>();
var listBinding = new BindingList<Customer>(yourList);
Vous n'avez pas besoin de faire un casting, fournissez simplement le BindingList<T>
constructeur de classe avec IList<T>
, que vous avez.
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);
BindingList
constructeur prend IList
paramètre, utilisez-le:
var binding = new BindingList<Customer>(list); //where list is type of IList<Customer>
IList<Customer> list = new List<Customer>();
var bindingList = new BindingList<Customer>(list);
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
.