本示例使用 Add 方法将 Inst 对象(类 Class1 之示例,其中包含 Public 变量 InstanceName )加到 MyClasses 集合对象中。若要观察程序的运作,插入一个类模块,并在 Class1 的模块级中声明公用变量 InstanceName(键入 Public InstanceName)来保存每个示例的名称。类名就用缺省的 Class1。将下列代码复制与粘贴到某个窗体模块的 Form_Load 事件过程中。
Dim MyClasses As New Collection ' 建立集合对象。
Dim Num As Integer ' 定义计数变量。
Dim Msg
Dim TheName ' 用来保存用户指定的名称的变量。
Do
Dim Inst As New Class1 ' 建立 Class1 的新示例。
Num = Num + 1 ' 将计数变量加一,并让用户输入名称。
Msg = "Please enter a name for this object." & Chr(13) _
& "Press Cancel to see names in collection."
TheName = InputBox(Msg, "Name the Collection Items")
Inst.InstanceName = TheName ' 将输入的名称存到对象的示例中。
' 如果名称不是空字符串,则将该示例加到集合对象中。
If Inst.InstanceName <> "" Then
' 将该示例加到集合对象中。
MyClasses.Add item := Inst, key := CStr(Num)
End If
' 清除对当前示例的引用,以准备下一个。
Set Inst = Nothing
Loop Until TheName = ""
For Each x In MyClasses
MsgBox x.instancename, , "Instance Name"
Next
是vb.net的 代码啦
向 Collection 对象添加成员啊Add方法。
Public Sub Add( _
ByVal Item As Object, _
Optional ByVal Key As String, _
Optional ByVal { Before | After } As Object = Nothing _
)
如果要将befor,after,key,item等在代码中写出来必须要用 :=
或者你可以将key:=,item:= 省略掉,
如Item:=Object 或Key:="XXXX" 你可以直接写成Object或"XXXX"
但是用befor或after时 需要写成写成Before := n或After := n来作标示
用 := 你就可以不用考虑方法的成员变量的位置
例如 family.Add(Item := New Child(newName), Key := newName)
和 family.Add(Key := newName, Item := New Child(newName)) 是一样的
和 family.Add(New Child(newName), newName) 也是一样的
但是和 family.Add(newName, New Child(newName)) 是不一样的
[此贴子已经被作者于2007-8-25 17:53:15编辑过]