Yamldotnet 如何反序列化子类?
我有一个列表,其中包含相同基类但不同子类的项。我如何将其反序列化 比如说Yamldotnet 如何反序列化子类?,yamldotnet,Yamldotnet,我有一个列表,其中包含相同基类但不同子类的项。我如何将其反序列化 比如说 class Base { } class Child: Base { int Property { get; set; } } class Ser { public List<Base> Values { get; set; } } 谢谢反序列化程序无法自动推断您期望的子类型。因此,您需要使用标记告诉它子对象的类型。例如: 亚马尔 C - !!child Property: 1 - !!
class Base {
}
class Child: Base {
int Property { get; set; }
}
class Ser {
public List<Base> Values { get; set; }
}
谢谢反序列化程序无法自动推断您期望的子类型。因此,您需要使用标记告诉它子对象的类型。例如: 亚马尔 C
- !!child
Property: 1
- !!child
Property: 2
var deserializer = new Deserializer();
deserializer.RegisterTagMapping("tag:yaml.org,2002:child", typeof(Child));
var items = deserializer.Deserialize<Ser>(...);