OBJECT对象序列化转换为byte[] byte[]反序列化转换为OBJECT对象 http://www.cnblogs.com/contlu/archive/2005/01/19/94178.html '参考:http://blog.csdn.net/freehul/archive/2005/01/19/258787.aspx
'将Image对象和byte[]互相转换 Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim img As Image = PictureBox1.Image
Dim img2 As Image = CType(GetObject(ReadObject(img)), Image)
PictureBox2.Image = img2
End Sub Public Shared Function ReadObject()Function ReadObject(ByVal obj As Object) As Byte()
Dim ms As MemoryStream = New MemoryStream
Dim bf As BinaryFormatter = New BinaryFormatter
bf.Serialize(ms, obj)
ms.Close()
Return ms.ToArray()
End Function Public Shared Function GetObject()Function GetObject(ByVal bytes As Byte()) As Object
Dim ms As MemoryStream = New MemoryStream(bytes, 0, bytes.Length)
Dim bf As BinaryFormatter = New BinaryFormatter
Return bf.Deserialize(ms) End Function
'将Image对象和byte[]互相转换 Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim img As Image = PictureBox1.Image
Dim img2 As Image = CType(GetObject(ReadObject(img)), Image)
PictureBox2.Image = img2
End Sub Public Shared Function ReadObject()Function ReadObject(ByVal obj As Object) As Byte()
Dim ms As MemoryStream = New MemoryStream
Dim bf As BinaryFormatter = New BinaryFormatter
bf.Serialize(ms, obj)
ms.Close()
Return ms.ToArray()
End Function Public Shared Function GetObject()Function GetObject(ByVal bytes As Byte()) As Object
Dim ms As MemoryStream = New MemoryStream(bytes, 0, bytes.Length)
Dim bf As BinaryFormatter = New BinaryFormatter
Return bf.Deserialize(ms) End Function
Dim ms As MemoryStream = New MemoryStream
Dim bf As BinaryFormatter = New BinaryFormatter
bf.Serialize(ms, obj)
ms.Close()
Return ms.ToArray()
End Function Public Shared Function GetObject()Function GetObject(ByVal bytes As Byte()) As Object
Dim ms As MemoryStream = New MemoryStream(bytes, 0, bytes.Length)
Dim bf As BinaryFormatter = New BinaryFormatter
Return bf.Deserialize(ms) End Function
就俩个函数啊!
另外,不支持clone,你可以自己实现iclone的接口啊
Object.Clone只能通过自己重载。可是我需要克隆的这个类的对象是一个复杂对象。这个对象包括上百个引用类型,这些引用类型也可能包括应用类型。这样克隆起来很难保证所有的引用类型都被成功克隆。可能存在的问题就是两个对象共享了同一个内存。这样就没达到克隆的目的。