我有这两个类,例如,PropertyEx继承自PropertyDataEx
public class PropertyDataEx
{
public string Name { get; set; }
}
public class PropertyEx : PropertyDataEx
{
public string Value { get; set; }
}
当我在其中使用某些PropertyEx序列化PropertyDataEx列表时,它不会使用属性Value,只需要Name。
public void Serialize_Property_WillHaveValue() {
var property = new PropertyEx()
{Name = "Niclas", Value = "varde"};
JsConfig.DateHandler = JsonDateHandler.ISO8601;
JsConfig.ExcludeTypeInfo = false;
JsConfig.IncludeTypeInfo = true;
JsConfig.IncludeNullValues = true;
JsConfig.PreferInterfaces = false;
var list = new List<PropertyDataEx>();
list.Add(property);
var value = JsonSerializer.SerializeToString(list);
}
var property = new PropertyEx()
{Name = "Niclas", Value = "varde"};
JsConfig.DateHandler = JsonDateHandler.ISO8601;
JsConfig.ExcludeTypeInfo = false;
JsConfig.IncludeTypeInfo = true;
JsConfig.IncludeNullValues = true;
JsConfig.PreferInterfaces = false;
var list = new List<PropertyDataEx>();
list.Add(property);
var value = JsonSerializer.SerializeToString(list);
}
在这种情况下,值将是“[{”__ type“:”Namespace.PropertyEx,Namespace“,”Name“:”Niclas“}]”
你看到财产价值缺失了。 我该如何解决这个问题?
答案 0 :(得分:3)
好的,发现它,为了工作,PropertyDataEx需要是抽象的。