Hallo,
Meine Frage ist wie serialisiert man richtig, dass die Objekte vor und nach dem serialisieren wieder gleich sind
in meinem Code hab ich die Klasse Person
und auf der Form nur 2 Buttons mit 2 Member in der Form:
Also ich hab 2 Objekte der Klasse Person, Pers1 hat Pers2 noch als Freund.
Nach dem Deserialisieren gibt es eine Pers2 und eine andere Person in MyFriend die zwar gleich heißt aber nicht das selbe Objekt ist
ich möchte es aber so dass nach dem Deserialisieren Pers2 das gleiche Objekt ist wie MyFriend in Pers1
wie macht man das?
Danke für alle Antworten
dingsda
Meine Frage ist wie serialisiert man richtig, dass die Objekte vor und nach dem serialisieren wieder gleich sind
in meinem Code hab ich die Klasse Person
und auf der Form nur 2 Buttons mit 2 Member in der Form:
VB.NET-Quellcode
- Imports System.IO
- Imports System.Runtime.Serialization.Formatters.Binary
- Public Class Form1
- Private FNm As String
- Private ms As MemoryStream
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- FNm = Application.ExecutablePath
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim Pers1 As New Person("Brad Pitt")
- Dim Pers2 As New Person("Angi Joli")
- Pers1.MyFriend = Pers2
- ms = New MemoryStream
- Dim b As New BinaryFormatter()
- b.Serialize(ms, Pers1)
- b.Serialize(ms, Pers2)
- Debug.Print(Pers1.Name & " " & Pers2.Name)
- Debug.Print(Object.ReferenceEquals(Pers1.MyFriend, Pers2).ToString)
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- Dim Pers1 As Person
- Dim Pers2 As Person
- ms.Position = 0
- Dim b As New BinaryFormatter()
- Pers1 = b.Deserialize(ms)
- Pers2 = b.Deserialize(ms)
- Debug.Print(Object.ReferenceEquals(Pers1.MyFriend, Pers2).ToString)
- End Sub
- End Class
Also ich hab 2 Objekte der Klasse Person, Pers1 hat Pers2 noch als Freund.
Nach dem Deserialisieren gibt es eine Pers2 und eine andere Person in MyFriend die zwar gleich heißt aber nicht das selbe Objekt ist
ich möchte es aber so dass nach dem Deserialisieren Pers2 das gleiche Objekt ist wie MyFriend in Pers1
wie macht man das?
Danke für alle Antworten
dingsda