(De-)Serialisierung einzelner Objekte
-
Um nicht immer eine gesamte Datenstruktur beim Deserialisieren zu laden. Wollte ich Daten einer bestimmten Klasse einzeln Speichern/Laden.
Kurzum beim Speichern mache ich Sinngemäß folgendes:
for (MyObject o in myobjectlist) { binaryFormatter.Serialize(o,stream); }
Beim laden wollte das ganze auch einzeln laden und schauen ob das geladene Objekt ein gesuchtes ist
while (stream.Position < stream.Length) { MyObject o = (MyObject)Deserialize(stream); //check o }
Dummerweise wird der Stream als Liste von MyObject interpretiert. Genau das möchte ich nicht. Ich will sozusagen händisch über den Stream iterieren. Krieg ich das irgendwie noch hin?
-
Du könntest folgendes probieren:
List<object> myObjects = binaryFormatter.Deserialize(stream); foreach(object o in myObjects) { if(o is MyObject) { //mache was }
-
Ich hab einfach geschlafen, das ganze wird nicht als List interpretiert, hatte einfach nur den falschen Stream übergeben.
Ab und an passiert sowas halt doch noch.