我需要将以下YAML反序列化为我的自定义类型。 YamlAlias属性似乎已过时,因此我将其替换为YamlMember。它无法使用以下异常反序列化以下YAML:
host: properties: mem_size: 2048 MB
YamlDotNet.Core.YamlException :( Line:21,Col:13,Idx:524) - (Line:21,Col:13,Idx:524):反序列化期间的异常 ----> System.Runtime.Serialization.SerializationException:Property' mem_size'找不到类型' Toscana.Domain.HostProperties'。
public class Host
{
public HostProperties Properties { get; set; }
}
public class HostProperties
{
[YamlMember(typeof(DigitalStorage))]
public string MemSize { get; set; }
}
答案 0 :(得分:3)
Alias
是YamlMemberAttribute
类的属性,它不在构造函数中。现在,我不知道你的DigitalStorage
类是什么样的,以及string
是否会被成功反序列化(我对此表示怀疑),但由于你的问题是添加一个别名,这就是你这样做:
public class HostProperties
{
[YamlMember(typeof(DigitalStorage), Alias = "mem_size")]
public string MemSize { get; set; }
}