Serialisierung: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Serialisierung<ref name="RunTimeRerial">http://msdn.microsoft.com/en-us/magazine/cc301761.aspx Jeffrey Richter: Run-time Serialization</ref> bezeichnet den Vorgang, ein [[Objekt]] in einen Datenstrom umzuwandeln. Dieser kann dann auf einer Festplatte gespeichert oder über ein Netzwerk übertragen werden.
Serialisierung<ref name="RunTimeRerial">http://msdn.microsoft.com/en-us/magazine/cc301761.aspx Jeffrey Richter: Run-time Serialization</ref> bezeichnet den Vorgang, ein [[Objekt]] in einen Datenstrom umzuwandeln. Dieser kann dann auf einer Festplatte gespeichert oder über ein Netzwerk übertragen werden.


== Mehrere Möglichkeiten ==
Es gibt mehrere Möglichkeiten, ein Objekt zu serialisieren.
Es gibt mehrere Möglichkeiten, ein Objekt zu serialisieren.
; Binary Serialization
; Binary Serialization
Zeile 9: Zeile 10:
: Stadardisiertes Verfahren um Objekte zu serialisieren. Dadurch extrem einfach für andere Plattformen aber auch etwas schwerer für den Menschen zu lesen.
: Stadardisiertes Verfahren um Objekte zu serialisieren. Dadurch extrem einfach für andere Plattformen aber auch etwas schwerer für den Menschen zu lesen.


== Speichern ==
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 aus offensichtlichen Gründen zum Beispiel nicht 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 aus offensichtlichen Gründen zum Beispiel nicht serialisiert werden.


Zeile 23: Zeile 25:
Man muss allerdings beachten, daß <tt>XmlSerializer</tt> keine privaten Felder und Properties serialisiert.
Man muss allerdings beachten, daß <tt>XmlSerializer</tt> keine privaten Felder und Properties serialisiert.


== Laden ==
Um ein Objekt dann in eine Datei zu speichern führt man folgenden Code aus:
Um ein Objekt dann in eine Datei zu speichern führt man folgenden Code aus:
<source lang="csharp">
<source lang="csharp">
Zeile 37: Zeile 40:
Man muss dabei beachten, daß die Klasse <tt>BinaryFormatter</tt><ref name="BinFormatter">http://msdn.microsoft.com/de-de/library/system.runtime.serialization.formatters.binary.binaryformatter.aspx MSDN-Artikel zur Klasse BinaryFormatter</ref> wesentlich mehr kann als die Klasse <tt>XmlSerializer</tt><ref name=XmlSrielizer">http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx MSDN-Artikel zur Klasse XmlSerializer</ref>, die dafür auch auf der [[XBox 360]] zur Verfügung steht.
Man muss dabei beachten, daß die Klasse <tt>BinaryFormatter</tt><ref name="BinFormatter">http://msdn.microsoft.com/de-de/library/system.runtime.serialization.formatters.binary.binaryformatter.aspx MSDN-Artikel zur Klasse BinaryFormatter</ref> wesentlich mehr kann als die Klasse <tt>XmlSerializer</tt><ref name=XmlSrielizer">http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx MSDN-Artikel zur Klasse XmlSerializer</ref>, die dafür auch auf der [[XBox 360]] zur Verfügung steht.


== Video Tutorial ==
Auf MSDN gibt es auch einen Webcast über das Thema<ref name="SerWebcast">http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032292924&EventCategory=3&culture=en-US&CountryCode=US MSDN Webcast: Advanced Serialization (Level 300)</ref><noinclude>
Auf MSDN gibt es auch einen Webcast über das Thema<ref name="SerWebcast">http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032292924&EventCategory=3&culture=en-US&CountryCode=US MSDN Webcast: Advanced Serialization (Level 300)</ref><noinclude>
== Referenzen ==
== Referenzen ==
<references />
<references />
[[Kategorie:CSharp]][[Kategorie:Code-Beispiele]][[Kategorie:Begriffe]][[Kategorie:VideoTutorials]][[Kategorie:Tutorials]]</noinclude>
[[Kategorie:CSharp]][[Kategorie:Code-Beispiele]][[Kategorie:Begriffe]][[Kategorie:VideoTutorials]][[Kategorie:Tutorials]]</noinclude>