Data Structure VB.Net

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
   Public ReadOnly Property AllKeys() As String()
      Get
         Return Me.BaseGetAllKeys()
      End Get
   End Property
   Public ReadOnly Property AllValues() As Array
      Get
         Return Me.BaseGetAllValues()
      End Get
   End Property
   Public ReadOnly Property AllStringValues() As String()
      Get
         Return CType(Me.BaseGetAllValues(GetType(String)), String())
      End Get
   End Property
End Class 
Public Class SamplesNameObjectCollectionBase
   Public Shared Sub Main()
      Dim d As New ListDictionary()
      d.Add("A", "a")
      d.Add("B", "b")
      d.Add("P", "p")
      Dim myCol As New MyCollection(d)
      Console.WriteLine("Initial state of the collection (Count = {0}):", myCol.Count)
      PrintKeysAndValues(myCol)
      Console.WriteLine("keys:")
      Dim s As String
      For Each s In  myCol.AllKeys
         Console.WriteLine("   {0}", s)
      Next s
      Console.WriteLine("values (Object):")
      Dim o As Object
      For Each o In  myCol.AllValues
         Console.WriteLine("   {0}", o.ToString())
      Next o
      Console.WriteLine("values (String):")
      For Each s In  myCol.AllValues
         Console.WriteLine("   {0}", s)
      Next s
   End Sub 
   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