如何:在类中定义集合 (Visual Basic)
在一个类中可以添加一个集合以管理该类使用的对象组。 实现此功能的最简单的方法是将类型为 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)。