feri_sharp
چهارشنبه 03 مهر 1392, 14:57 عصر
سلام دوستان.
من می خوام یک لیست رو توی یک لیست دیگه کپی کنم، به صورتی که اگر لیست دوم رو تغییر بدم، تاثیری روی لیست اصلی نذاره.
Object ی که لیستم داره، کلاسی که خودم ساختم. در مورد Object های عادی مثل Int و .... مشکلی پیش نمیاد.
جستجو هم که کردم، یکی از روش ها Clone کردن هر کدوم از Object ها به صورت زیر بود:
public object Clone()
{
using (var ms = new MemoryStream())
{
var bf = new BinaryFormatter();
try
{
bf.Serialize(ms, this);
ms.Position = 0;
object obj = bf.Deserialize(ms);
ms.Close();
return obj;
}
catch { }
return this;
}
}
ولی کلاس من شامل نوع داده ی Texture2D میشه که اینجا SerializationException unhandled میده. چون Texture2D سریالایز نیست و نمی دونم باید چجوری Serializeش کنم.
دوستان اگر مشکل مشابه براتون پیش اومده و حلش کردین. در میون بذارید ببینیم چی به چیه؟
ممنون.
موفق باشید.
من می خوام یک لیست رو توی یک لیست دیگه کپی کنم، به صورتی که اگر لیست دوم رو تغییر بدم، تاثیری روی لیست اصلی نذاره.
Object ی که لیستم داره، کلاسی که خودم ساختم. در مورد Object های عادی مثل Int و .... مشکلی پیش نمیاد.
جستجو هم که کردم، یکی از روش ها Clone کردن هر کدوم از Object ها به صورت زیر بود:
public object Clone()
{
using (var ms = new MemoryStream())
{
var bf = new BinaryFormatter();
try
{
bf.Serialize(ms, this);
ms.Position = 0;
object obj = bf.Deserialize(ms);
ms.Close();
return obj;
}
catch { }
return this;
}
}
ولی کلاس من شامل نوع داده ی Texture2D میشه که اینجا SerializationException unhandled میده. چون Texture2D سریالایز نیست و نمی دونم باید چجوری Serializeش کنم.
دوستان اگر مشکل مشابه براتون پیش اومده و حلش کردین. در میون بذارید ببینیم چی به چیه؟
ممنون.
موفق باشید.