Как получить доступ к свойствам дочернего класса после десериализации

Рейтинг: 0Ответов: 0Опубликовано: 22.01.2023

Есть 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. Если подскажите корректное название для этого вопроса - буду крайне признателен. Не знаю, как правильно описать проблему, с которой столкнулся

Ответы

Ответов пока нет.