ArrayList Binding

RonQ

Freshman
Joined
Dec 11, 2003
Messages
28
Location
Argentina
Hello, Happy new year!

I need help with collections. I have an array of a class (all the same type of course), but I think an arraylist would better fit my needs, the problem is that the arraylist is a collection of objects and I want it to be a collection of the type of my class cList. because when I want to call a method or a property in the class I have to cast everytime to the type I want, Is there a way to cast the arraylist to know that the type will be always the same, something like (im dreaming...): Dim X as Arraylist of cList :D
Is there a way to do it, or another type of colection that can help??

Visual Basic:
'With arrays
Dim x() as cList
redim x(0)
x(0)=new clist
x(0).text="Hello"

'With arraylist
Dim x as new arraylist
x.add(new clist)
DirectCast(x.item(0),clist).text="Hello"
'I don't want to do the casting every time i use x.


Thanks,
Ronq.
 
Visual Basic:
'Naff class to work with
Public Class TestClass
	Public thing As String
	Public Otherthing As Integer
End Class

'start of a collection of test classes
Public Class TestList
	Inherits ArrayList

	Public Shadows Sub Add(ByVal Test As TestClass)
		MyBase.Add(Test)
	End Sub

	Public Shadows Property item(ByVal Index As Integer) As TestClass
		Get
			Return DirectCast(MyBase.Item(Index), TestClass)
		End Get
		Set(ByVal Value As TestClass)
			MyBase.Item(Index) = Value
		End Set
	End Property
End Class

should be a reasonable starting point for a collection class - you may need to override / shadow other functions depending on your requirements.

You can then use it similar to
Visual Basic:
Dim MyList As New TestList
Dim x As New TestClass

MyList.Add(x)

Dim y As TestClass

y = MyList(0)
'etc.
 
Thank you very much, I need more practice with OOP and overloading, I didn't even think of that.
I'm a VB programmer and every new thing I learn about .NET make me want never go back... :D

Bye,
Ronq.
 
Back
Top