首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取ServiceStack以保留类型信息

获取ServiceStack以保留类型信息
EN

Stack Overflow用户
提问于 2012-05-25 15:50:25
回答 2查看 10.2K关注 0票数 21

我使用ServiceStack将一些对象序列化和反序列化为JSON。考虑这个例子:

public class Container
{
    public Animal Animal { get; set; }
}

public class Animal
{
}

public class Dog : Animal
{
    public void Speak() { Console.WriteLine("Woof!"); }
}

var container = new Container { Animal = new Dog() };
var json = JsonSerializer.SerializeToString(container);
var container2 = JsonSerializer.DeserializeFromString<Container>(json);

((Dog)container.Animal).Speak(); //Works
((Dog)container2.Animal).Speak(); //InvalidCastException

最后一行抛出一个InvalidCastException,因为Animal字段被实例化为Animal类型,而不是Dog类型。有没有什么方法可以让ServiceStack保留这个特定实例属于Dog类型的信息?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10750571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档