Я хочу отобразить список людей в DataGridView в приложении Windows Forms. Я хочу, чтобы мой сервисный уровень возвращал список объектов Person (например, IList<Person>). Я хочу, чтобы изменения в списке отражались в DataGridView и наоборот. Я понимаю, что использование BindingSource облегчает работу с DataGridView. Мой вопрос заключается в том, чтобы двухсторонняя привязка данных работала, мне нужно:
//pseudo code
BindingSource.DataSource = IBindingList<Person>
или я могу сделать:
BindingSource.DataSource = IList<Person>
Какая разница? Если мои изменения в списке будут обновляться в DataGridView в любом случае? И если мне нужно использовать BindingList, кажется немного неудобным (из-за создания зависимости), чтобы вернуть BindingList из моего уровня сервиса, есть ли способ вокруг этого?
Microsoft говорит о BindingList (в разделе "Примечания" )
http://msdn.microsoft.com/en-us/library/ms132679.aspx:
"Однако типичные решения программист будет использовать класс, который обеспечивает функциональность связывания данных, таких как
BindingSource, вместо напрямую используяBindingList<T>."