
Namespace System
Namespace Collections
Namespace Generic

Interface IEnumerable<T>
	' Method
	Function GetEnumerator () As IEnumerator<T>
End Interface

Interface IEnumerator<T>
	Inherits IDisposable
	' Methods
	Function MoveNext () As Boolean
	Sub Reset()
	' Property
	Function Current () As T
End Interface


Interface ICollection<T>
	Inherits IEnumerable<T>
	' Property
	Function Count () As Long
	Function IsReadOnly () As Boolean

	' Methods
	Sub Add ( item As T )
	Sub Clear ()
'	 Function Contains ( item As T ) As Boolean
'	Sub CopyTo (ByRef array As List<T>, arrayIndex As Long )
	Function Remove ( item As T ) As Boolean
End Interface


Interface IList<T>
	Inherits ICollection<T>
	' Property
'	Sub Operator[] ( index As Long, item As T )
'	Function Operator[] ( index As Long ) As T

	Sub Item ( index As Long, item As T )
	Function Item ( index As Long ) As T

	Function IndexOf ( item As T ) As Long
	Sub Insert ( index As Long, item As T )
	Sub RemoveAt ( index As Long )
End Interface

End Namespace
End Namespace
End Namespace
