advertisement
Premier Club Log In/Registration
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   SKILLBUILDING  |   TIP BANK  |   SOURCEBANK  |   FORUMS  |   NEWSLETTERS
Browse DevX
Partners & Affiliates
advertisement
advertisement
Tip of the Day
Average Rating: 5/5 | Rate this item | 1 user has rated this item.
Tip formerly from VB2TheMax
Expertise: Intermediate
Language: VB.NET
January 19, 2002
Implementing ICloneable - Deep copies
The simplest way to create a generic deep copy routine, that is a procedure that can create a true, distinct copy of an object and all its dependent object, is to rely on the serialization features of the .NET framework.

Function CloneObject(ByVal obj As Object) As Object
    ' Create a memory stream and a formatter.
    Dim ms As New MemoryStream(1000)
    Dim bf As New BinaryFormatter()
    ' Serialize the object into the stream.
    bf.Serialize(ms, obj)
    ' Position streem pointer back to first byte.
    ms.Seek(0, SeekOrigin.Begin)
    ' Deserialize into another object.
    CloneObject = bf.Deserialize(ms)
    ' Release memory.
    ms.Close()
End Function
You can use this routine as follows:

Dim ar(100) As Person
' Fill the array.
' ...
' Create a copy of the array AND all the objects it contains.
ar = CType(CloneObject(ar), Person())
Francesco Balena
If you have a hot tip and we publish it, we'll pay you. However, due to accounting overhead we no longer pay $10 for a single tip submission. You must accumulate 10 acceptable tips to receive payment. Be sure to include a clear explanation of what the technique does and why it's useful. If it includes code, limit it to 20 lines if possible. Submit your tip here.
advertisement
advertisement
Advertising Info  |   Member Services  |   Permissions  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About


JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers