Option Explicit
'local variable to hold collection Private mCol As Collection Private oParentSink As CNodeSink Public Sub Clear() Set mCol = New Collection End Sub Friend Property Set ParentSink(Sink As CNodeSink) Set oParentSink = Sink End Property Public Function Add(Optional sKey As String) As CNode 'create a new object Dim objNewMember As CNode Set objNewMember = New CNode 'set the properties passed into the method If Len(sKey) = 0 Then mCol.Add objNewMember Else mCol.Add objNewMember, sKey objNewMember.Key = sKey End If Set objNewMember.ParentSink = oParentSink 'return the object created Set Add = objNewMember Set objNewMember = Nothing End Function Public Property Get Item(vntIndexKey As Variant) As CNode Set Item = mCol(vntIndexKey) End Property Public Property Get Count() As Long Count = mCol.Count End Property Public Sub Remove(vntIndexKey As Variant) mCol.Remove vntIndexKey End Sub Public Property Get NewEnum() As IUnknown Set NewEnum = mCol.[_NewEnum] End Property Private Sub Class_Initialize() Set mCol = New Collection End Sub Private Sub Class_Terminate() Set mCol = Nothing Set oParentSink = Nothing End Sub |