当使用这种格式时..。
var customerInput = Mapper.Map<CustomerInput>(customer); CustomerInput是使用Activator.CreateInstance创建的。我认为应该有一种使用工厂来创建这些对象的方法。所以我们想..。
var customerInput = Mapper.Map<ICustomerInput>(customer); ...where我们可以用一个工厂将ICustomerInput映射到一个“新”CustomerInput。
有什么方法可以用ValueInjecter来实现吗?
发布于 2017-04-19 06:33:56
您可以为此使用“附加参数”功能:
var customer = Mapper.Map<Customer>(foo, new Customer { ... });您可以在AddMap中使用此参数,如下所示:
Mapper.AddMap<Foo, Customer>((src, tag) =>
{
var res = (Customer)tag;
res.InjectFrom(src);
res.A = src.B + src.C;
...
return res;
});https://stackoverflow.com/questions/43460862
复制相似问题