PDA

View Full Version : سوال: تبدیل object به فرم باینری



z.s.h64
دوشنبه 27 دی 1389, 13:03 عصر
سلام دوستان
من یک object از جنس Gmap overlay دارم که یک کلاس توی gmap.net است و میخوام به فرم باینری تبدیل کنم و در sql ذخیره کنم.چطور میتونم یک object را به باینری تبدیل کنم
لطفا کمک کنید

prankster
دوشنبه 27 دی 1389, 21:04 عصر
در صورتی که کلاس مورد نظر Serializable تعریف شده باشد:

byte[] serializedObject;
using (MemoryStream ms = new MemoryStream())
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(ms, SerializableObj);
ms.Seek(0, 0);
serializedObject = ms.ToArray();
}

z.s.h64
چهارشنبه 29 دی 1389, 16:00 عصر
سلام من این کد ها رو نمیفهمم فقط میدونم کلاسم ISerializabl است
میشه بیشتر راه نمایی کنید

prankster
چهارشنبه 29 دی 1389, 20:40 عصر
برای تعریف کلاس به صورت Serializable بایدSerializable Attribute را به کلاس اضافه کنید:

[Serializable]
class Test
{
}
}
لزومی به مشتق کردن کلاس از ISerializable نیست، زمانی که بخواهید روش serialization را خودتان پیاده سازی کنید کلاس را از ISerializable مشتق کرده و در متد GetObjectData آنرا پیاده سازی می کنید.
اکثر Serializer های درون Net. مثل BinarySerializer و یا SoapSerializer یا XMLSerializer با تعریف کلاس به صورت Serializable عمل Serialization را به خوبی انجام می دهند