Inherit CollectionBase to create your own Collection structure : CollectionBase « Collections « VB.Net Tutorial






Option Strict On

Imports System.Collections

Public Class SortedStrings
   Inherits CollectionBase

  Public Function Add(ByVal value As String) As Integer
     MyBase.List.Add(value)
     
     Sort()
  End Function

  Default Public Property Item(ByVal index As Integer) As String
     Get
        Return DirectCast(MyBase.List.Item(index), String)
     End Get
     Set(ByVal value As String)
        MyBase.List.Item(index) = value
     End Set
  End Property

  Public Sub Sort
     Dim sArr(Me.Count - 1) As String
     Dim IColl As ICollection = Me
     IColl.CopyTo(sArr,0)
     Array.Sort(sArr)

     Me.Clear

     For Each s As String In sArr
        Me.List.Add(s)
     Next
  End Sub
End Class

Public Module TestSortedStrings
   Public Sub Main()
      Dim sstrings As New SortedStrings()
      sstrings.Add("D")
      sstrings.Add("A")
      sstrings.Add("C")
      sstrings.Add("B")
      sstrings.Add("E")
      
      For Each sstring As String In sstrings
         Console.WriteLine(sstring)
      Next
   End Sub
End Module
A
B
C
D
E








8.14.CollectionBase
8.14.1.Extends CollectionBase to create custom Collection
8.14.2.Inherit CollectionBase to create your own Collection structure