Я отправляю объект из одного микросервиса в другой, поэтому сериализовал объект, содержащий это свойство
public class Template
{
public int Id { get; set; }
public string FileFormat { get; set; }
}
Я не хочу моделировать TemplateDTO
в другом микросервисе, который получает это сообщение поскольку мне нужно получить доступ только к одному из свойств шаблона. Кроме того, мне понадобится Id
позже, когда я отправлю его в другой микросервис, поэтому он мне нужен, иначе я мог бы просто отправить одну строку prop. Это свойство в моем DTO:
public dynamic Template { get; set; }
Десериализация работает, но мне кажется, что
templateObj.FileFormat; //templateObj is equal to reportJson.Template
Вот как объект выглядит при отладке:
Я получаю эту ошибку при попытке доступа к чему-либо из объекта:
ошибка CS1061: 'объект' не содержит определения для 'FileFormat' и нет доступного расширения Метод 'FileFormat', принимающий первый аргумент типа 'object', может быть найден (вам не хватает директивы using или ссылки на сборку?)
Что мне здесь не хватает?
РЕДАКТИРОВАТЬ
Сериализованный объект имеет несколько свойств, одно из которых - Шаблон. Когда я десериализую его в другом микросервисе:
var reportJson = JsonConvert.DeserializeObject<ReportDTO>(serializedMessage);
, я получаю вышеуказанные проблемы.
ReportDTO выглядит так:
public class ReportDTO
{
public dynamic Template { get; set; }
...
}