Практическое руководство. Определение коллекций в классах
Обновлен: Ноябрь 2007
Можно добавить коллекцию в один из классов для управления группами объектов, используемыми классом. Самый простой способ — добавить в класс открытую переменную типа Collection. Рассмотрим гипотетический класс widgetRepository, который управляет и предоставляет доступ к объектам widget. Можно создать переменную widgetColl для ссылки на коллекцию widget, как описано в следующей процедуре.
Определение простой коллекции
Определение простой коллекции в классе
Создайте общую переменную в качестве коллекции для объектов.
Public Class widgetRepository Public widgetColl As New Microsoft.VisualBasic.Collection() ' Insert code to implement additional functionality. End Class
Класс widgetRepository имеет открытую коллекцию, в которую можно добавлять объекты widget. Теперь можно использовать Инструкция For Each... Next (Visual Basic) для обработки элементов коллекции, как показано в следующем коде.
For Each aWidget As widget In widgetColl ' Insert code to process widgetColl elements Next aWidget
Коллекция widgetColl, определенная в предыдущем примере, не является строго типизированной, то есть в нее можно добавлять объекты любого типа, а не только объекты widget. Это может привести к проблемам безопасности типа. Предположим, например, что добавляется String в коллекцию с помощью следующего кода.
Dim notWidget As String = "This is not a widget object!" widgetColl.Add(notWidget)
После этого цикл For Each в предыдущей процедуре вызывает исключение ArgumentException во время выполнения, поскольку элемент коллекции не является элементом типа widget.
Рекомендуется определять универсальный класс, если требуется обеспечить строгую типизацию. Дополнительные сведения и примеры см. в разделе Практическое руководство. Определение строго типизированной коллекции.
См. также
Задачи
Практическое руководство. Определение строго типизированной коллекции
Основные понятия
Классы коллекций в Visual Basic
Универсальные типы в Visual Basic