AutoMapper创建内部类的对象,那是怎么回事?

时间:2015-10-09 11:29:27

标签: c# .net automapper

这可能非常简单,我只是想知道AutoMapper如何能够使用内部构造函数创建类的实例。

所以我有4个项目UI BLL ENTITY DAL

BLL拥有所有映射信息,DAL从DB获取数据并在Entity Class上创建一个具有内部构造函数的新实例。

在DAL我做

Mapper.Map<dalObjct, EntityObject> (_db.GetItem())

并返回EntityObject类型的对象。这一切都有效,但我想知道当AutoMapper的构造函数被标记为内部时,它是如何创建EntityObject实例的。

1 个答案:

答案 0 :(得分:2)

  

AutoMapper如何在构造函数中创建EntityObject的实例   被标记为内部

Automapper使用reflection来检索类型元数据,因此,构造函数的可见性不是问题。

  

为什么automapper会这样做?

因为你已经要求它这样做了。

  

是不是违反抽象?

不,不是。
自动映射和反射只是工具。当您使用某种工具时,您必须知道如何,何时以及如何使用它。