У меня возникли проблемы с десериализацией сообщения в объект undefined .Я называю это неопределенным объектом, потому что у меня нет подходящего класса, который бы напоминал данные сообщения.У меня есть только интерфейс.Поскольку проект, над которым я работаю, довольно тяжелый, я не буду отображать каждую строчку кода, кроме случаев, когда вам нужно спросить.
У меня есть интерфейс, назовем его ITest (который сам реализует другие интерфейсыи другой класс. Так что он довольно сложный)
И в моем объеме я получаю «сообщение», сериализованное с JsonConvert, точно в соответствии с шаблоном этого интерфейса ITest. Я не буду вдаваться в подробности того, как это было на самом деле сериализации, но решение не может быть использовано для аспекта десериализации .И тут возникает проблема:
Так как я должен десериализовать это сообщение в интерфейс, ну ... я, очевидно, не могу.Таким образом, я попробовал много (МНОГО) обходных путей, которые.Используя другой Nuget (например, «Impromptu Interfaces» или Castle.Core), или даже AutoMapping мой интерфейс для типа объекта (динамический), но либо код не скомпилируется, либо я получаю только половину данных, или я получаю толькосвойства со значениями null / 0.Самое близкое, что я получил, было с Экспромтом ... Я сейчас немного отчаялся.
Я бы не хотел делать этот чертов Бетонный тип.Поскольку мне нужно их много.СУХАЯ концепция истекает кровью: (
Вот Экспромт
var obj = ActLike<ITest>(message)
Вот AutoMapping
public interface ITest
{
string Test { get; set; }
int Val { get; set; }
}
static void Main(string[] args)
{
Mapper.Initialize(cfg => { });
var a = new { Test = "test", Val = 1 };
ITest b = Mapper.Map(a, typeof(Object), typeof(ITest)) as ITest;
}
Где я пытался превратить эту чертову "var a" вдинамический объект Json для использования в отображении. И многое другое ...
Так что да ... Я как бы застрял прямо сейчас.
Спасибо за любую помощь, которую вы мне могли бы оказать!