Работа в коде с коллекцией реализующей IList

вы можете объявить экземпляр коллекции

Работа в коде с коллекцией, реализующей IList, Достаточно проста. Вы можете объявить экземпляр коллекции, добавлять к ней элементы методом Add, Находить элементы при помощи IndexOf, Определять, сколько их в коллекции, при помощи реализованного элемента Count Унаследованного интерфейса ICollection, Производить итерацию по всем элементам коллекции и обращаться к элементам, индексируя коллекцию с помощью индексатора IList Или через унаследованную поддержку интерфейса LEnumerable, И все это потребует весьма немногих строчек кода: В этом коде использован экземпляр обобщенного типа List<T>, Который реализует за вас IList для любого специфицированного параметра типа. Как уже упоминалось, когда вы объявляете переменную обобщенного типа с параметром типа, как в приведенном выше коде объявлена MyCollection С параметром типа Int, То в действительности вы создаете новый тип, являющийся сильно типизированным списком целых чисел, и, наряду с типом, объявляете экземпляр этого типа, все в одной строчке. Если коллекция поддерживает интерфейс IList, Вы сможете привязать ее к любому элементу управления Windows Forms из. NET Framework, который поддерживает привязку данных, посредством либо простой , Либо сложной привязки данных . Если элемент управления поддерживает модификацию коллекции , Вы можете добавлять элементы к коллекции, удалять их или редактировать значения элемента, экспонируемые в свойствах содержащихся объектов. Внутренний код привязки данных элемента управления итерирует содержимое коллекции и индексирует ее, используя свойства и методы IList. Как только элемент управления получит доступ к элементу коллекции, он может воспользоваться классом PropertyDescriptor, Чтобы динамически найти информацию о свойствах элементов коллекции, и использовать ее для заполнения любых своих свойств или визуальных элементов, которые привязаны к данным. В разделе главы 8 о дескрипторах свойств вы найдете более подробную информацию и примеры реализации специальных привязанных элементов управления.