Использование JsonConvert.DeserializeObject для десериализации списка производных объектов
У меня есть этот объект
public class ConversationAPI
{
[JsonProperty(PropertyName = "lU")]
public DateTime LastUpdated { get; set; }
[JsonProperty(PropertyName = "m", TypeNameHandling = TypeNameHandling.All)]
public List Messages { get; set; }
}
Который я отправляю из API как json и десериализую в своем клиентском приложении.
The List Messages property contains either
[Serializable]
public class Message
{
[JsonProperty(PropertyName = "t")]
public string Text { get; set; }
[JsonProperty(PropertyName = "ty")]
public MessageType Type { get; set; }
}
или же
[Serializable]
public class DerivedMessage : Message
{
[JsonProperty(PropertyName = "sos")]
public string SomeOtherStuff{ get; set; }
}
Я могу'Кажется, что он способен десериализовать массив производных типов. Я'мы пробовали это
var settings = new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.All,
TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Full
};
var conversation = JsonConvert.DeserializeObject(response.Content, settings);
Я хотел бы, чтобы список сообщений имелСообщение а такжеDerivedMessage объекты.
Есть идеи? Спасибо