假設我有下面的代碼的應用程序:如何將字段序列化爲磁盤,但未進行深度克隆?
public class Node
{
public Node Clone() {//implementation}
public List<Node> Children{get;set;}
//Many properties
public string Content { get; set; }
// ... etc ...
}
我用兩種不同的場景序列:
- 保存我的對象到磁盤,並
- 執行深度克隆。
當我想將對象序列化到磁盤上時,我希望孩子們也被序列化。
但是,當我使用序列化來執行深度克隆時,我不希望孩子被序列化爲 。我將循環查看子節點並調用每個子節點的Clone方法,然後將其添加到父節點。
我想知道是否有可能控制序列化,以便我能夠告訴串行器是否序列化特定字段。
如果不能直接使用,我使用二進制序列化進行深度克隆和XMLSerialization以保存我的對象。也許這可以幫助某種方式。