我正在实现一些自定义序列化(到字节数组),并且遇到了处理循环引用的问题。
例子:
Class A
public MyBs as new List(of B)
End class
Class B
public MyParent as A
public MiscInt1 as integer
public MiscInt2 as integer
End Class
序列化 A 时,我必须序列化 B 的每个实例。
但是,我在序列化 B 时遇到了问题。
如何在不导致无限循环的情况下记录 B 的父级?
一个主意:
如果我知道 B 的实例只会通过 A 的实例的序列化来序列化,那么我可以从 A 的实例处理 MyParent 引用的设置,甚至不将该信息记录在实例的字节缓冲区中B的
这感觉不太对,但它可能是最好的解决方案。
有没有更干净的方法来处理这种情况?