我正在尝试序列化一个对象(特别是开源 UnitClassLibrary 中的一个距离对象)。因为这个库显然不支持序列化,所以我愿意为我的目的对其进行修改。
但是,我不确定如何诊断正在发生的这个问题。尝试使用 JSON.net 序列化对象时出现以下错误(我也尝试使用内置工具进行 XML 序列化并得到类似的错误)。
Additional information: Self referencing loop detected for property 'EqualityStrategy' with type 'UnitClassLibrary.DistanceEqualityStrategy'. Path ''.
但是,我似乎在距离对象的代码中找不到任何自引用循环。我该如何诊断这个问题?
我目前只是想像这样序列化:
Distance newDistance = new Distance();
var json = JsonConvert.SerializeObject(newDistance);
这导致了错误。我可以修改我正在使用的库,但我没有。