我正在尝试创建一个简单的模型,用于使用YamlDotNet将 yaml 文件解析为我的域对象。需要注意的是,我希望域模型是只读的,所以我试图通过继承和内部设置器来解决这个问题。
但由于某种原因,该库引发了一个异常,说明:
在类型“ConsoleApplication1.Repositories.YamlTemplateRepository+DeserializeableTemplate”上找不到属性“HtmlTemplate”。
我正在使用别名,但即使是从头开始,并且使用具有正确属性名称的测试类也不能正确设置它。
我究竟做错了什么?我是否误解了应该如何使用该库?
调用 YamlDotNet 的代码如下所示:
deserializer.Deserialize<DeserializeableTemplate>(yamlContents);
我反序列化的类看起来像这样:
private class DeserializeableTemplate : Template
{
[YamlMember(Alias = "HtmlTemplate")]
public string HtmlTemplateWrapper
{
get { return HtmlTemplate; }
set { HtmlTemplate = value; }
}
// A few more properties...
}
和我继承的类:
public class Template
{
public string HtmlTemplate { get; internal set; }
// A few more properties...
}