我有一个列表,其中包含相同基类但具有不同子类的项。我怎样才能反序化呢?
例如
class Base {
}
class Child: Base {
int Property { get; set; }
}
class Ser {
public List<Base> Values { get; set; }
}
由于
答案 0 :(得分:0)
反序列化器无法自动推断出您期望的子类型。因此,您需要告诉它使用标记的孩子的类型。 E.g:
- !!child
Property: 1
- !!child
Property: 2
var deserializer = new Deserializer();
deserializer.RegisterTagMapping("tag:yaml.org,2002:child", typeof(Child));
var items = deserializer.Deserialize<Ser>(...);