есть свои уникальные свойства.
Инстансы этого класса живут в коллекции, которая хранит экземпляры базового класса. Ну например List<BaseClass>.Add(new InheritedFromBaseClass)
Если вытащить из коллекции какой нибудь объект и сделать ему getType(), то он покажет тип который соответствует тому, который был объявлен при создании (например тип соответствующий классу наследнику).
Вопрос такой. Как серилеазовать такую коллекцию, чтобы после сериализации в json сохранялись не только свойства базового класса, но и свойства которые существуют у конкретного наследника?
Использую Text.Json
Кажется это только писать качтомную
Это не пробовал? https://stackoverflow.com/a/22486943/11565032
Только костылить. https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-polymorphism В json.net такое поведение по умолчанию.
К сожалению это Newtonsoft Json. А во всем проекте у меня уже Text.Json
в System.Text.Json все плохо с этим, насколько помню есть вариант выплёвывать object[] — тогда все проперти респектятся сериализатором
Увы, стандартный Text.Json не так богат на фичи, иногда приходится юзать и newtonsoft Ничего плохого в этом не вижу
Воу это работает. Спасибо. Скукожить то скукоживает. Главное теперь раскукожить...
десериализовать в полиморфные типы только нюьтонсофтом + вот этой либой https://github.com/dmitry-bym/JsonKnownTypes
Обсуждают сегодня