Newtonsoft: Как найти цикл самореференции?C#

Место общения программистов C#
Ответить
Anonymous
 Newtonsoft: Как найти цикл самореференции?

Сообщение Anonymous »

Я получаю сообщение об ошибке при попытке сериализовать объект:

Обнаружен цикл самоссылки с типом Namespace.MyClass. Путь ''.

Я понимаю, что означает эта ошибка. Где-то в моем классе есть цикл, в котором ClassA ссылается на ClassB, а ClassB ссылается на ClassA, что приводит к бесконечному циклу, который Newtonsoft не может разрешить.На этом сайте бесчисленное множество вопросов по поводу этой ошибки. Я знаю, что могу игнорировать свойства с помощью ReferenceLoopHandling.Ignore. Но это не мой вопрос.
Мой вопрос заключается в следующем: как мне на самом деле найти ссылочный цикл, чтобы попытаться исправить базовый класс?
Мой класс довольно большой и расширяет классы из библиотеки, которую я не контролирую. Однако в прошлом объекты библиотечных классов сериализовались нормально, поэтому проблема не должна быть в библиотеке. Но фактическое исключение не дает мне никакой полезной информации о том, какие свойства моего класса являются самоссылающимися.
Есть ли способ обнаружить это? Или мне просто придется вручную копаться в коде?

Подробнее здесь: https://stackoverflow.com/questions/786 ... ncing-loop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»