Serialisierung: Unterschied zwischen den Versionen
Aus Das Sopra Wiki
Jan (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Jan (Diskussion | Beiträge) |
||
| Zeile 13: | Zeile 13: | ||
== Was kann Serialisiert werden == | == Was kann Serialisiert werden == | ||
Um Ein Objekt zu serialisieren braucht es extrem wenig Code. Man sollte allerdings beachten, daß nur sinnvolle Daten serialisiert werden. Instanzen der Klasse <tt>File</tt> können zum Beispiel nicht serialisiert werden. Der Grund ist, dass deren Inhalte nicht im Hauptspeicher liegen. Ebenfalls können einige XNA-Klassen nicht serialisiert werden, z.B. die <tt>Model</tt>-Klasse, weil Teile davon im Grafikkartenspeicher oder anderen Orten liegen. Wenn man nicht sicher ist, kann man sich mit F12 (oder Rechtsklick -> Go to Defninition) zum Code wechseln(oder zu den Metadaten). Und an den [[http://sopra.le-gousteau.de/index.php?title=Serialisierung# | Um Ein Objekt zu serialisieren braucht es extrem wenig Code. Man sollte allerdings beachten, daß nur sinnvolle Daten serialisiert werden. Instanzen der Klasse <tt>File</tt> können zum Beispiel nicht serialisiert werden. Der Grund ist, dass deren Inhalte nicht im Hauptspeicher liegen. Ebenfalls können einige XNA-Klassen nicht serialisiert werden, z.B. die <tt>Model</tt>-Klasse, weil Teile davon im Grafikkartenspeicher oder anderen Orten liegen. Wenn man nicht sicher ist, kann man sich mit F12 (oder Rechtsklick -> Go to Defninition) zum Code wechseln(oder zu den Metadaten). Und an den [[http://sopra.le-gousteau.de/index.php?title=Serialisierung#Attribute|Attributen]] erkennen, ob sie serialisierbar sind und welche Felder ausgeschlossen werden. | ||
Der XmlSerializer hat weitere Einschränkungen: | Der XmlSerializer hat weitere Einschränkungen: | ||
* Eine Klasse die Xml-serialisiert werden soll, braucht einen parameterlosen Konstrukor. | * Eine Klasse die Xml-serialisiert werden soll, braucht einen parameterlosen Konstrukor. | ||
* keine Zweidimensionale Arrays | * keine Zweidimensionale Arrays | ||
* (Die Klasse <tt>Dictionary</tt> und einige andere Klassen, von denen man es eigentlich nicht denkt, sind nicht erlaubt) | * (Die Klasse <tt>Dictionary</tt> und einige andere Klassen, von denen man es eigentlich nicht denkt, sind nicht erlaubt) | ||
== Attribute == | == Attribute == | ||
