对于这段代码...

private void Label1_MouseUp(object sender, RoutedEventArgs e)
{
    Newtonsoft.Json.Linq.JObject.FromObject(e).ToString();
}

我收到这个错误...
Self referencing loop detected with type 'System.Windows.Documents.Run'. Path 'MouseDevice.Target.Inlines[0].SiblingInlines'.

还有很多其他类似的问题,但我无法弄清楚如何在我的情况下实现解决方案(我正在学习 C#)。例如。添加 ReferenceLoopHandling = ReferenceLoopHandling.Ignore 但不知道把它放在哪里。

(顺便说一句,我试图找到一种简单的通用方式来打印调试信息。)

最佳答案

在您的问题中,您说您不知道将 ReferenceLoopHandling = ReferenceLoopHandling.Ignore 放在哪里。你可以把它放在你对“FromObject”的调用中,如下所示:

JObject.FromObject(e, new JsonSerializer() {
    ReferenceLoopHandling = ReferenceLoopHandling.Ignore });

这是 JObject.FromObject 文档的链接:
http://james.newtonking.com/json/help/index.html?topic=html/CreatingLINQtoJSON.htm

关于c# - Newtonsoft.Json 中的 "Self referencing loop detected",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24333822/

10-13 06:49