我对此很陌生。你能否向我解释为什么"循环参考"是一件坏事,它带来的坏结果是什么?
答案 0 :(得分:1)
如果您将其序列化为JSON,那么您将获得无限的JSON文档,因为当Serializer将CTest
对象序列化为JSON并且他到达Other
属性时,此属性被引用本身和序列化程序从序列化此对象开始。等等。
public class CTest
{
public CTest Other { get; set; }
public string Description { get; set; }
}
[Test]
public void Circulartest()
{
CTest instance = new CTest();
instance.Description = "Hello";
instance.Other = instance;
JsonConvert.SerializeObject(instance);
}
这将导致以下JSON文件
{
"Description": "Hello"
"Other":
{
"Description": "Hello"
"Other":
{
"Description": "Hello"
"Other":
{
"Description": "Hello"
"Other":
{
....never ending story
}
}
}
}
}