CNodesObject




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










( cnodesobject.html )- by Paolo Puglisi - Modifica del 17/12/2023