Я реализую некоторую пользовательскую сериализацию (в массив байтов) и столкнулся с проблемой обработки циклических ссылок.
Пример:
Class A
public MyBs as new List(of B)
End class
Class B
public MyParent as A
public MiscInt1 as integer
public MiscInt2 as integer
End Class
При сериализации A я должен сериализовать каждый экземпляр B.
Однако у меня возникла проблема при сериализации B.
Как записать родителя B, не вызывая бесконечного цикла?
Идея:
Если я знаю, что экземпляр B будет когда-либо сериализован только через сериализацию экземпляра A, то я могу обработать настройку ссылки MyParent из экземпляра A и даже не записывать эту информацию в байтовый буфер для экземпляра. из Б
Это кажется не совсем правильным, но это может быть лучшим решением.
Есть ли более чистый способ справиться с этой ситуацией?