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