我在项目中遇到了这个问题,我从表中得到一个json字符串,它是一个序列化的实体。
的的Json
{
"Entity":{
"__type":"Book:#Definition",
"BookId":3,
"BookName":"Meloon Dreams",
"Type":2,
"Price":35
}
}
图书类
namespace Definition
{
[DataContract]
public class Book : IEntity
{
[DataMember]
public int BookId { get; set; }
[DataMember]
public string BookName { get; set; }
[DataMember]
public BookType Type { get; set; }
[DataMember]
public decimal Price { get; set; }
}
}
工作流程类
public class Workflow
{
public int WorkflowId { get; set; }
public IEntity Entity { get; set; }
}
因此,在控制器类中,我从表中获取json字符串,我想将其反序列化为自己的类型。但是,只有json字符串中的 __ type 可以帮助我处理它的类型。我的意思是
workflow.Entity = Serializer.JsonDeserialize<IEntity>(jsonString);
我需要输入预订而不是 IEntity
这是否可以在不改变类结构的情况下实现,或者是否可以从json获取类型并将其转换为类型并将其替换为IEntity?
答案 0 :(得分:0)
如果我正确理解了这个问题,你想要实例化动态指定泛型类型的泛型类。可以用反射来做到这一点:
ps -ef | grep index.js