Monday, January 11, 2016

C# ile Nesnelerin Serileştirilmesi - Object Serialization

Bazı durumlarda nesnelerin serileştirilip yanı byte dizisi (byte[]) haline getirilip veritabanında saklanması gerekebilmektedir. Bu durumda "BinaryFormatter" sınıfı kullanılarak nesneler serileştirilebilmektedir. Aşağıdaki örnekte "SerializeObjectBinary" fonksiyonu nesneyi serileştirmek için kullanılmakta ve "DeSerializeObjectBinary" fonksiyonu ile nesne tekrar elde edilebilmektedir.

public static byte[] SerializeObjectBinary(object Obj)
{
     MemoryStream stream = new MemoryStream();
     BinaryFormatter formatter = new BinaryFormatter();
     formatter.Serialize(stream, Obj);

     return stream.ToArray();
}

public static object DeSerializeObjectBinary(byte[] ObjBinary)
{
     MemoryStream stream = new MemoryStream();
     stream.Write(ObjBinary, 0, ObjBinary.Length);
     stream.Position = 0;
     BinaryFormatter formatter = new BinaryFormatter();
     return formatter.Deserialize(stream); ;
}


No comments:

Post a Comment