我想在 XNA 4.0 中序列化一棵树,其中每个节点在成员字典中都有子节点,由 int 索引,如下所示:
[Serializable]
public class Node
{
private Dictionary<int, Node> children;
}
我的意图是,当我序列化一个特定节点时,所有以该节点为根的子树都会被序列化。但是当我尝试对其进行测试时,序列化字典似乎有问题,它回复错误(简化):
System.InvalidOperationException was unhandled
Message=There was an error reflecting type 'Baddies.Node.Node'.
InnerException: System.NotSupportedException
Message=Cannot serialize member Baddies.Nodes.Node.Children of type System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[Baddies.Nodes.Node, Baddies, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], because it implements IDictionary.
我的问题是双重的。首先,如果类 Dictionary 是可序列化的,这会像我期望的那样吗?(即序列化所有子树)。其次,我该如何序列化字典类呢?
欢迎任何和所有信息。感谢您的时间。