我要求更多的解释,而不是关于 c# 对象的任何内容。
[Serializable]
class ExampleSub
{
public Example parent;
public ExampleSub(Example parent)
{
this.parent= parent;
}
}
[Serializable]
class Example
{
List<ExampleSub> subs;
public Example()
{
for (int i = 0; i < 10; i++)
subs.Add(new ExampleSub(this));
}
}
如果我要对 Example 类进行二进制序列化,它包含列表中的 ExampleSubs。然后通过 TCP 连接发送它,在另一端它被反序列化回一个示例对象。ExampleSub 的父对象是否会指向新的 Example 对象(应该如此)。
我的问题主要是围绕序列化程序如何正确地将对象映射在一起,以及如何真正识别 c# 对象,因为我能猜到的最接近的是它们就像智能指针一样。