Как получить доступ к свойствам дочернего класса после десериализации
Есть 1 базовый класс:
class Base
{
}
Есть 2 дочерних класса:
class A : Base
{
string Type { get; set; } = nameof(string);
override string ToString() => nameof(A);
}
class B : Base
{
string Type { get; set; } = nameof(int);
override string ToString() => nameof(B);
}
Есть класс, который необходимо сериализовать:
[Serialuzation]
class ExampleSerialize
{
public List<Base> Data { get; set; }
}
Реализация:
static void Main()
{
var a = new A();
var b = new B();
var exmp = new ExampleSerialize();
exmp.Data.Add(a);
exmp.Data.Add(b);
}
Вопрос: как правильно сериализовать класс ExampleSerialize
в json, чтобы потом этот json можно было корректно десериализовать обратно в этот класс и получить информацию из классов A
и B
P.S. Если подскажите корректное название для этого вопроса - буду крайне признателен. Не знаю, как правильно описать проблему, с которой столкнулся
Источник: Stack Overflow на русском