C# 实体类的深拷贝

    [Serializable]
    public class Data : ICloneable
    {


        public int Level { get; set; }
        public string ID { get; set; }
        public string EID { get; set; }
        public string Name { get; set; }
        public List Childs { get; set; }
      
        public object Clone()
        {
            using (MemoryStream ms = new MemoryStream(1000))
            {
                object CloneObject;
                BinaryFormatter bf = new BinaryFormatter(null, new StreamingContext(StreamingContextStates.Clone));
                bf.Serialize(ms, this);
                ms.Seek(0, SeekOrigin.Begin);
                // 反序列化至另一个对象(即创建了一个原对象的深表副本) 
                CloneObject = bf.Deserialize(ms);
                // 关闭流 
                ms.Close();
                return CloneObject;
            }




        }
    }

你可能感兴趣的:(C#)