0

我最近发现 MemberwiseCloning 一个类似乎并没有克隆它的子类(其中定义的类)。它们似乎仍然被视为指针。有什么方法可以克隆一个包含所有子类的整个类吗?

4

1 回答 1

2

使用这样的东西

public object Clone()
{
    using (var memStream = new MemoryStream())
    {
        var binaryFormatter = new BinaryFormatter(
           null, 
           new StreamingContext(StreamingContextStates.Clone));
        binaryFormatter.Serialize(memStream, this);
        memStream.Seek(0, SeekOrigin.Begin);
        return binaryFormatter.Deserialize(memStream);
    }
}
于 2013-07-28T01:43:17.883 回答