Часто приходится создавать копию объекта, и каждый раз приходится переписывать весь код для учета специфику объекта. Несколько поразмыслив я нашел полу универсальное решение проблемы. Почему полу универсальное? Потому что все равно при каждой новой задаче создания копии объекта , приходится учитывать его специфические требования. Так что данное решение хоть и не панацея, но одно из самых простых, оно использует стерилизацию и последующую десерелизацию из памяти.
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: }
Не правда ли просто крошечный код):.
Комментариев нет:
Отправить комментарий