Поддержка поиска в IBindingList

для эффективного поиска обычно нужно

Последней категорией функций, описываемых интерфейсом IBindingList, Является поиск. Для эффективного поиска обычно нужно как-то индексировать коллекцию. Свойство SupportsSearching Указывает, поддерживает ли коллекция вообще поиск. Если оно возвращает true, вы сможете безопасно вызывать метод Find С дескриптором для свойства, в котором вы хотите искать сопоставление, и объектной ссылкой, содержащей сопоставляемое значение. Если вы реализуете коллекцию, которая поддерживает сортировку и в которой будут находиться большие объемы данных, то для большей эффективности операций поиска вам, возможно, потребуется поддерживать также индексацию данных. Если коллекция поддерживает индексацию, вы можете вызывать метод Addindex Чтобы дать коллекции указание организовать на некотором свойстве индекс, и метод Removelndex, Чтобы удалить ранее добавленный индекс. Например, в конец метода Main На листинге 7.1 можно было бы добавить следующий код, выполняющий поиск некоторого элемента с использованием индексации для ускорения поиска : Реализация на пустом месте коллекции, поддерживающей IBindingList, Требует огромной работы, причем по большей части это кодирование обычных ориентированных на коллекцию функций вроде добавления элементов, удаления элементов, запуска событий ListChanged При изменении коллекции или ее элементов и т. д. До появления. NET 2.0 было мало вариантов, позволяющих уклониться этой работы. Однако класс BindingList В. NET 2.0 значительно упрощает дело, и мы будем подробно исследовать его в главе 9.

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

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