Интерфейс IListSource: экспонирование коллекций коллекций

вы можете инкапсулировать расположение и

Интерфейс IListSource Позволяет типу сообщить, содержит ли он коллекцию коллекций, и экспонировать коллекцию по умолчанию для привязки данных. Код привязки данных может использовать реализацию интерфейса IListSource Объекта для получения списка для привязки, когда сам источник данных списком не является, или для получения списка коллекций, которые содержит объект.

Часто вам потребуется работать с коллекциями данных, которые связаны друг с другом. Наиболее частым случаем этого является работа с наборами данных в. NET. Набор данных можно рассматривать в качестве Коллекции коллекций, так как он может содержать набор таблиц. Каждая DataTable Является Коллекцией элементов данных, которыми являются строки данных . Вы можете также реализовать свой собственный специальный тип контейнера, который содержит другие коллекции, такой, как список списков. Или, возможно, ваш тип контейнера содержит единственный список, но вы хотите позволить потребителям использовать ваш объект как источник данных и получать из объекта список для целей привязки данных. Предположим, например, что у вас есть рабочий класс с именем InventoryManager, Который позволяет вам управлять позициями вашего инвентаря и получать к ним доступ для различных случаев применения. Допустим, вы захотите предоставить приложениям возможность привязки к вашему менеджеру инвентаря, причем менеджер контролировал бы, что будет экспонироваться для привязки данных, исходя из некоторого критерия, экспонируемого классом: У вас также мог бы быть контейнер с несколькими коллекциями, например, класс менеджера инвентаря, содержащий списки наличных позиций инвентаря, позиций, поставляемых по предварительному заказу, и поставщиков. В этом случае вы хотели бы предоставить потребителям простой способ получить список списков, которые содержит ваш объект. Интерфейс IListSource Поддерживает эти сценарии посредством двух своих элементов, описанных в 6. Он позволяет возвратить при вызове GetList Коллекцию по умолчанию . Этот список может быть либо простым списком объектов для привязки данных, либо списком списков, содержащихся в объекте. Если свойство ContainsListCollection Возвращает True, Предполагается, что список, возвращаемый GetList, Сам содержит списки.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *