AFAIK, Deserialize accepts a type parameter that is really good
%YAML 1.1
%TAG !namespace! _MyNamespace.NestedClass.Whatever.
---
entry_0: !namespace!MyMessage
format: Alert
desc: "Entry One! Uses the exact string representation of the desired type. (A bit fragile, IMHO)"
entry_1: !!message
format: Default
desc: "Entry Two! Uses a type registered beforehand."
entry_2:
format: Default
desc: "Entry Three! Just winging it, sometimes YamlDotNet is exceedingly clever."
...
can be deserialized
var dict = new Deserializer().Deserialize<Dictionary<string,MyMessage>>(
new StringReader(that_doc_up_there));
, MyMessage format desc , . , Deserializer . , % TAG , . , .
- ,
deserializer.RegisterTagMapping(
"tag:yaml.org,2002:message", typeof(MyMessage));