我有一个像这样的域对象:
public class Document
{
public string Index { get; private set; }
public string Title { get; private set; }
public string Content { get; private set; }
public Document (string index, string title, string content)
{
// some domain rule here
Index = index;
Title = title;
Content = content;
}
protected Document() {}
}
现在我想构造类型为Document
的对象,并在我从存储中获取数据时填充它们的属性,而不需要像Dapper这样的ORM。
我想知道如何Dapper或JsonConvert填充对象使用受保护的构造函数和私有属性设置?
填充字段的构造函数不受保护,它是公共的。
有些包足够聪明,或者带了属性,所以你可以教它们使用那些构造函数,有些包只是使用反射。你可以使用反射来写私有属性。