Интерфейс ITypedList: экспонирование свойств привязки данных

через этот интерфейс код потребителя

Интерфейс ITypedList Позволяет экспонировать или получать доступ к информации о типе относительно свойств, определяемых элементами коллекции. Через этот интерфейс код потребителя может сказать коллекции: «Расскажи мне все об элементах данных, которые ты содержишь». Эта информация широко используется конструктором Visual Studio, Когда вы на этапе проектирования декларативно конфигурируете привязанные элементы управления, например, при установке конфигурации столбцов сетки DataGridView В зависимости от типизированных свойств элементов в привязанной коллекции. Он может использоваться и во время выполнения, чтобы менять поведение в зависимости от динамически раскрываемых типов свойств элементов коллекции. Типы, реализующий интерфейс ITypedList, могут поддерживать раскрытие информации о типе содержащихся в них элементов данных, на этапе проектирования или во время выполнения. Классы DataView И Bin — DingSource Реализуют ITypedList, И информация, экспонируемая их реализациями, позволяет раскрывать информацию о типе относительно содержащихся элементов данных. Поскольку каждая таблица DataTable Экспонирует DataView По умолчанию, это делает информацию о типе для данных в DataTable Доступной через интерфейс ITypedList. Элементы этого интерфейса показаны в таблице 7.7. Описание метода GetltemProperties Может несколько напоминать порочный круг •— вы передаете массив дескрипторов свойств, чтобы получить обратно коллекцию дескрипторов свойств. Проще всего понять, что здесь происходит, если разобраться в реализации DataView Этого интерфейса. Если вы получите интерфейсную ссылку ITypedList На DataView И вызовете затем через нее GetltemProperties С параметром Null, То метод возвратит коллекцию объектов PropertyDescriptor, Которые описывают каждое поле таблицы данных, на которую ссылается псевдотаблица. Листинг 7.1 далее в этой главе демонстрирует пример использования GetltemProperties Для получения дескрипторов свойств столбцов в таблице.

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

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