Serialisierungsproblem in abgeleiteter Klasse

04/01/2008 - 21:58 von Peter Gast | Report spam
Ich habe in einer Klasse ein Byte-Feld (als geerbte Property) und möchte
eine der abgeleiten Klassen Serialisieren und setze das Feld vorher auf
Nothin um Speicherplatz zu sparen. Allerdings wird dies anscheinend als
Serialisiertes Objekt nicht kleiner, den der Speicherbedarf bleibt groß.
Setze ich das Bytefeld auf ein Element zurück bleibt auch alles beim Alten
also zu groß. Erst wenn ich das NonSerialized Attribut setze wird die Größe
vernünftig. Kann ich aber nicht, da in anderen Klassen der Inhalt der
Bytefeld gespeichert werden muss.

Kann es sein das trotz Feld()=Nothing oder Feld=New Byte(0) {0} die Größe
unveràndert bleibt?
Kann ich vor dem Serialisieren bewußt ein bestimmtes Element aussparen also
das NonSerialized-Attribut erst kurz vorher setzen?

Danke Peter
 

Lesen sie die antworten

#1 Peter Fleischer
08/01/2008 - 06:56 | Warnen spam
"Peter Gast" schrieb im Newsbeitrag
news:477e9e05$0$29522$
Ich habe in einer Klasse ein Byte-Feld (als geerbte Property) und möchte
eine der abgeleiten Klassen Serialisieren und setze das Feld vorher auf
Nothin um Speicherplatz zu sparen. Allerdings wird dies anscheinend als
Serialisiertes Objekt nicht kleiner, den der Speicherbedarf bleibt groß.
Setze ich das Bytefeld auf ein Element zurück bleibt auch alles beim Alten
also zu groß. Erst wenn ich das NonSerialized Attribut setze wird die
Größe vernünftig. Kann ich aber nicht, da in anderen Klassen der Inhalt
der Bytefeld gespeichert werden muss.

Kann es sein das trotz Feld()=Nothing oder Feld=New Byte(0) {0} die Größe
unveràndert bleibt?
Kann ich vor dem Serialisieren bewußt ein bestimmtes Element aussparen
also das NonSerialized-Attribut erst kurz vorher setzen?



Hi Peter,
du kannst einen eigenen Serializer schreiben, der nur alles das ausgibt, was
du wünschst. Ich vermute aber, dass du irgendwo einen logischen Fehler hast,
der dazu führt, dass ein für dich "leeres" Array serialisiert wird, in dem
du aber nichts oder nur wenig benötigst. Ein Blick in das serialisierte
Ergebnis dürfte das aber schnell klàren.

Viele Gruesse

Peter

Ähnliche fragen