' A reusable function that does object cloning' by serializing it to a memory streamFunction CloneObject(ByVal obj As Object) As Object ' Create a memory stream and a formatter. Dim ms As New System.IO.MemoryStream(1000) Dim bf As New BinaryFormatter(Nothing, _ New StreamingContext(StreamingContextStates.Clone)) ' 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' this procedure tests object cloningSub TestCloneObject() ' create an object graph Dim p1 As New Person("Joe", "Doe", #1/2/1960#) Dim p2 As New Person("Ann", "Smith", #3/4/1965#) p1.Spouse = p2 p2.Spouse = p1 ' Clone it Dim q1 As Person = DirectCast(CloneObject(p1), Person) Dim q2 As Person = q1.Spouse ' Prove that properties were copied correctly. Console.WriteLine(q1.FirstName & " " & q1.LastName) Console.WriteLine(q2.FirstName & " " & q2.LastName) Console.WriteLine("P1 is Q1 = {0}", p1 Is q1) Console.WriteLine("P2 is Q2 = {0}", p2 Is q2)End Sub' Note: This code is taken from Francesco Balena's' "Programming Microsoft Visual Basic .NET" - MS Press 2002, ISBN 0735613753' You can read a free chapter of the book at ' http://www.vb2themax.com/HtmlDoc.asp?Table=Books&ID=101000


GM Creates Open Source uProtocol and Invites Automakers to Adopt It: Revolutionizing Automotive Software Development.
General Motors (GM) recently announced its entry into the Eclipse Foundation. The Eclipse Foundation is a prominent open-source software foundation. In addition, GMC announced its contribution of “uProtocol” to facilitate