同じ基本クラスのアイテムを保持するリストがありますが、子クラスは異なります。これを逆シリアル化するにはどうすればよいですか?
例えば
class Base {
}
class Child: Base {
int Property { get; set; }
}
class Ser {
public List<Base> Values { get; set; }
}
ありがとう
同じ基本クラスのアイテムを保持するリストがありますが、子クラスは異なります。これを逆シリアル化するにはどうすればよいですか?
例えば
class Base {
}
class Child: Base {
int Property { get; set; }
}
class Ser {
public List<Base> Values { get; set; }
}
ありがとう
デシリアライザーには、予想される子の型を自動的に推測する方法がありません。したがって、タグを使用して子のタイプを伝える必要があります。例えば:
- !!child
Property: 1
- !!child
Property: 2
var deserializer = new Deserializer();
deserializer.RegisterTagMapping("tag:yaml.org,2002:child", typeof(Child));
var items = deserializer.Deserialize<Ser>(...);