To deep copy an object you can serialize it. Be aware that the class has
to be serializable (see for that the tag in top of a class)
Module Module1
Sub Main()
Dim a As New ArrayList
a.Add("Hello")
a.Add("I")
a.Add("am")
a.Add("Here")
Dim b As String = SerializeArraylist(a)
Dim c As ArrayList = DeserializeArraylist(b)
Console.WriteLine(b)
For Each item In a
Console.WriteLine(item)
Next
Console.ReadLine()
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Procedures
'Serialize
Private Function SerializeArraylist(ByVal _
arraylst As ArrayList) As String
Dim bf As New Runtime.Serialization.Formatters.Binary.BinaryFormatter
Dim mem As New IO.MemoryStream
bf.Serialize(mem, arraylst)
Return Convert.ToBase64String(mem.ToArray())
End Function
'Deserialize
Private Function DeserializeArraylist(ByVal _
arraystring As String) As ArrayList
Dim bf As New Runtime.Serialization.Formatters.Binary.BinaryFormatter
Dim mem As New IO.MemoryStream(Convert.FromBase64String(arraystring))
Return DirectCast(bf.Deserialize(mem), ArrayList)
End Function
End Module