Json.NET 序列化 运行 抛出 StackOverflowException

Json.NET Serializing Run throws StackOverflowException

我正在尝试序列化一个 System.Windows.Documents.Run 对象,并且 JsonConvert.SerializeObject() 抛出 WhosebugException,即使 ReferenceLoopHandling 设置为 Ignore。我该怎么做才能序列化 运行 对象?

触发线:

字符串测试 = JsonConvert.SerializeObject(新 运行("testing"),
    new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore });

try
{
var _run = new Run()
}
catch (Exception ex)
{
//serialize your erorr
}
finally
{
//impossible but still
if (_run != null)
{
//serialize _run
}
}

如果对象创建失败,则无法序列化空对象。