NameObjectCollectionBase.BaseRemove Method removes entries with the specified key
Imports System
Imports System.Collections
Imports System.Collections.Specialized
Public Class MyCollection
Inherits NameObjectCollectionBase
Private _de As New DictionaryEntry()
Default Public ReadOnly Property Item(index As Integer) As DictionaryEntry
Get
_de.Key = Me.BaseGetKey(index)
_de.Value = Me.BaseGet(index)
Return _de
End Get
End Property
Public Sub New(d As IDictionary)
Dim de As DictionaryEntry
For Each de In d
Me.BaseAdd(CType(de.Key, [String]), de.Value)
Next de
End Sub 'New
Overloads Public Sub Remove(key As [String])
Me.BaseRemove(key)
End Sub 'Remove
Overloads Public Sub Remove(index As Integer)
Me.BaseRemoveAt(index)
End Sub 'Remove
End Class 'MyCollection
Public Class SamplesNameObjectCollectionBase
Public Shared Sub Main()
Dim d = New ListDictionary()
d.Add("A", "a")
d.Add("B", "b")
d.Add("P", "p")
Dim myCol As New MyCollection(d)
PrintKeysAndValues(myCol)
myCol.Remove(1)
PrintKeysAndValues(myCol)
myCol.Remove("A")
PrintKeysAndValues(myCol)
End Sub 'Main
Public Shared Sub PrintKeysAndValues(myCol As MyCollection)
Dim i As Integer
For i = 0 To myCol.Count - 1
Console.WriteLine("[{0}] : {1}, {2}", i, myCol(i).Key, myCol(i).Value)
Next i
End Sub
End Class
Related examples in the same category