using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
using System.Xml.Serialization;
namespace WebApplicationBAOJI.Models
{
/// <summary>
/// 深拷贝对象
/// </summary>
public class DeepCopy<T>
{
/// <summary>
/// 推荐此深拷贝方法,类对象不用打[Serializable]标记,照样可以深拷贝
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static T DeepCopyObjectByXml(T obj)
{
object retval;
MemoryStream ms = new MemoryStream();
XmlSerializer xml = new XmlSerializer(typeof(T));
xml.Serialize(ms, obj);
ms.Seek(0, SeekOrigin.Begin);
retval = xml.Deserialize(ms);
ms.Close();
ms.Dispose();
return (T)retval;
}
}
}
C# 对象深拷贝
最新推荐文章于 2024-07-14 21:34:05 发布