Часто приходится создавать копию объекта, и каждый раз приходится переписывать весь код для учета специфику объекта. Несколько поразмыслив я нашел полу универсальное решение проблемы. Почему полу универсальное? Потому что все равно при каждой новой задаче создания копии объекта , приходится учитывать его специфические требования. Так что данное решение хоть и не панацея, но одно из самых простых, оно использует стерилизацию и последующую десерелизацию из памяти.
1: 2: using System.IO;
3: using
4: System.Runtime.Serialization.Formatters.Binary;5: namespace Utils.Data
6: {7: public class DeepCopy
8: {9: public static object Clone(object inobject)
10: {11: BinaryFormatter BF = new BinaryFormatter();
12: MemoryStream memStream = new MemoryStream();
13: BF.Serialize(memStream, inobject); 14: memStream.Flush(); 15: memStream.Position = 0;16: return BF.Deserialize(memStream);
17: } 18: } 19: }Не правда ли просто крошечный код):.
Комментариев нет:
Отправить комментарий