Я реализую пользовательскую сериализацию (в байтовый массив) и столкнулся с проблемой обработки циклических ссылок.
Пример:
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 и даже не записать эту информацию в байтовый буфер для экземпляра B
Это не совсем правильно, но это может быть лучшим решением.
Есть ли более чистый способ справиться с этой ситуацией?