考虑以下类:
class A
{
public List<B> ListB;
// etc...
}
B
是另一个可能继承/包含其他类的类。
在这种情况下:
A
是一个大类,包含很多引用类型- 我无法将
B
标记为[Serializable]
,因为我没有访问B
的源代码
下面的方法不能执行深拷贝:
- 我不能使用
ICloneable
或MemberwiseClone
,因为类A
包含许多引用类型 - 我不能编写
A
的复制构造函数,因为该类很大,不断地增加,并且包含无法进行深度复制的类(如B
) - 我不能使用序列化,因为我无法将所包含的类(例如
B
,无法获取源代码)标记为[Serializable]
如何深度复制类A
?