У меня есть небольшая проблема с передачей некоторого родительского экземпляра конструктору при десериализации объекта с Newtonsoft.Json
.
Предположим, что у меня есть следующие классы
public class A
{
public string Str1 { get; set; }
public IList<B> Bs { get; set; }
}
public class B
{
public B(A a)
{
// a should not be null!
Console.WriteLine(a.Str)
}
}
И теперь я serailze и десериализую объект a
следующим образом:
A a = new A()
a.Bs = new List<B>()
a.Bs.Add(new B(a));
a.Bs.Add(new B(a));
a.Bs.Add(new B(a));
var json = JsonConvert.SerializeObject(a);
// Here i need to call the constructor of B when creating new instances
var newA = JsonConvert.DeserializeObject<A>(json);
Проблема заключается в том, что при десериализации объекта null
передается конструктору B
. Кто-нибудь решил эту проблему/проблему раньше?
Большое спасибо!