/// <summary>
/// 克隆一个对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="RealObject"></param>
/// <returns></returns>
public static T Clone<T>(T RealObject)
{
using (Stream objectStream = new MemoryStream())
{
//利用 System.Runtime.Serialization序列化与反序列化完成引用对象的复制
System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
formatter.Serialize(objectStream, RealObject);
objectStream.Seek(0, SeekOrigin.Begin);
return (T)formatter.Deserialize(objectStream);
}
}
用法例如:
List<string> newList= Clone<List<string>>(oldList); 即 从oldList克隆一个新的List<string> newList