настройки мессенджеров в классе MessengerOptions. У каждого мессенджера соответственно свои настройки, которые наследуются от MessengerOptions. Возникает проблема, что если конфигурация мессенджеров хранится в json, то ее невозможно десериализовать, так как конкретный тип неизвестен во время десериализации. На что можно заменить поле MessengersOptions в BotOptions, не подключая сторонние библиотеки?
Dictionary, если всё настолько плохо. Либо у того же newtonsoft есть опция сериализации вместе с именем типа
Для словаря там вложенность неизвестна. Newtonsoft пока не хочется тащить. Может есть другой вариант, где можно сделать красиво или изложенной информации недостаточно?
Почему нельзя десериализовать если конкретный тип неизвестен?
Dictionary<string, object>, где object может быть таким же словарём, или примитивом. Но проще будет протащить библиотеку и не изобретать велосипедов.
Гугли "c# json deserialize abstract class"
Нужно чтобы поля унаследованного типа сохранились.
Я понимаю. Это решается либо включением специальной функции, чтобы у тебя в json была пометка "class: Namespace.MyClass2", либо написанием своего конвертера
Пометка не вариант, но конвертеры могут сработать. Спасибо.
Обсуждают сегодня