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>(...);