Serializace C#
V C# je serializace procesem převodu objektu na byte stream, aby jej bylo možné uložit do paměti, souboru nebo databáze. Opačný proces serializace se nazývá deserializace.
Serializace se interně používá ve vzdálených aplikacích.
C# SerializableAttribute
Chcete-li objekt serializovat, musíte použít SerializableAttribute atribut k typu. Pokud se nepřihlásíte SerializableAttribute atribut k typu, Výjimka serializace výjimka je vyvolána za běhu.
Příklad serializace v C#
Podívejme se na jednoduchý příklad serializace v C#, kde serializujeme objekt třídy Student. Tady, budeme používat BinaryFormatter.Serialize(stream, reference) metoda pro serializaci objektu.
using System; using System.IO; using System.Runtime.Serialization.Formatters.Binary; [Serializable] class Student { int rollno; string name; public Student(int rollno, string name) { this.rollno = rollno; this.name = name; } } public class SerializeExample { public static void Main(string[] args) { FileStream stream = new FileStream('e:\sss.txt', FileMode.OpenOrCreate); BinaryFormatter formatter=new BinaryFormatter(); Student s = new Student(101, 'sonoo'); formatter.Serialize(stream, s); stream.Close(); } } sss.txt:
JConsoleApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Student rollnoname e sonoo
Jak vidíte, serializovaná data jsou uložena v souboru. Chcete-li získat data, musíte provést deserializaci.