Mega Code Archive

 
Categories / VB.Net / Data Structure
 

ReadOnlyCollectionBase is abstract base class for a strongly typed non-generic read-only collection

Imports System Imports System.Collections Public Class ROCollection     Inherits ReadOnlyCollectionBase     Public Sub New(sourceList As IList)         InnerList.AddRange(sourceList)     End Sub 'New     Default Public ReadOnly Property Item(index As Integer) As [Object]         Get             Return InnerList(index)         End Get     End Property     Public Function IndexOf(value As [Object]) As Integer         Return InnerList.IndexOf(value)     End Function      Public Function Contains(value As [Object]) As Boolean         Return InnerList.Contains(value)     End Function  End Class  Public Class SamplesCollectionBase     Public Shared Sub Main()         Dim myAL As New ArrayList()         myAL.Add("A")         myAL.Add("B")         myAL.Add("C")         Dim myCol As New ROCollection(myAL)         PrintIndexAndValues(myCol)     End Sub      Public Shared Sub PrintIndexAndValues(myCol As ROCollection)         Dim i As Integer         For i = 0 To myCol.Count - 1             Console.WriteLine("   [{0}]:   {1}", i, myCol(i))         Next i         Console.WriteLine()     End Sub  End Class