Montag, 4. Februar 2008

Dot Net (C#): Serialisieren (binär)

Serialisierung von Objekten in C# (binär):

Namespace: System.Runtime.Serialization.Formatters.Binary

/* zwei Objekt der zu serilisierenden Klasse anlegen */
objectKlasse object1b = new objectKlasse(10, "Hallo");
objectKlasse object2b = new objectKlasse(11, "Welt");

/* binary formatter anlegen */
BinaryFormatter binForm = new BinaryFormatter();

/* beide Objekte serialisiert nach C:\text.txt schreiben */
using (FileStream fs = new FileStream("C:\\test.txt", FileMode.Create))
{
binForm.Serialize(fs, object1b);
binForm.Serialize(fs, object2b);
}

/* zwei neue Objekte anlegen */
objectKlasse object11b = null;
objectKlasse object22b = null;

/* beide Objekte deserialisieren */
using (FileStream fs = new FileStream("C:\\test.txt", FileMode.Open))
{
object11b = (objectKlasse)binForm.Deserialize(fs);
object22b = (objectKlasse)binForm.Deserialize(fs);
}

/* deserialisierte Objektdaten ausgeben */
Console.WriteLine("Zahl: {0} , Wort: {1}", object11b.integer1, object11b.string1);
Console.WriteLine("Zahl: {0} , Wort: {1}", object22b.integer1, object22b.string1);

Alternativ:
XML-Serialisierung mit SoapFormatter aus dem Namespace System.Runtime.Serialization.Formatters.Soap

Keine Kommentare: