web-dev-qa-db-ja.com

IList <T>をBindingList <T>に変換する

IList<Customer>リストをBindingList<Customer>にキャストするにはどうすればよいですか?

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

BindingListコンストラクタ

キャストする必要はなく、BindingList<T>クラスコンストラクターにIList<T>を提供するだけです。

72
LukeHennerley

残念ながら、IListをそうでないものにキャストすることはできません。ただし、IListをコンストラクターに渡すだけで、新しいBindingListを簡単に作成できます。

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

BindingListコンストラクターはIListパラメーターを受け取り、それを使用します。

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

追加情報: IBindingListIListから継承します:したがって、IBindingListはすべてのプロパティと関数シグネチャをIListと共有します。したがって、IList実装はIBindingList実装に容易に「適合」できます。

1