Поделиться через


Практическое руководство. Определение коллекций в классах

Обновлен: Ноябрь 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

Универсальные типы в Visual Basic

Ссылки

Оператор Option Strict