Ну, какую архитектуру вы используете? WinForms? asp.net? МОФ
Высокий уровень - это если у вас есть такие объекты, как:
public class Person {
public string Name {get;set;}
public DateTime DateOfBirth {get;set;}
}
Затем вы можете заставить механизм связывания выполнять всю тяжелую работу, и вы просто говорите, что хотите связать - например (winforms):
txtName.DataBindings.Add("Text", person, "Name");
Устанавливает свойство Text текстового поля на основе имени человека и может обновлять имя человека, когда пользователь изменяет текст.
Связывание с несколькими записями более сложное и основано на IList
в winforms / wpf и IEunmerable
в ASP.NET; это позволяет вам связывать несколько записей (например, в сетку). Если в списке представлены дополнительные функции (сортировка, фильтрация и т. Д. Через IBindingList
, IBindingListView
и т. Д.), Возможно, будут доступны дополнительные функции.
Привязка также позволяет использовать «наблюдателя» - то есть уведомление об изменении: если вы косвенно измените Имя человека, текстовое поле будет автоматически обновлено. Это зависит от событий - либо в форме public event EventHandler NameChanged;
, либо (чаще сейчас) через событие INotifyPropertyChanged
(позволяя одному событию уведомлять о нескольких свойствах).
Некоторые списки (например, BindingList<T>
, DataView
) имеют похожие циклы уведомлений.