首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用工厂在ValueInjecter中创建新对象

使用工厂在ValueInjecter中创建新对象
EN

Stack Overflow用户
提问于 2017-04-17 22:49:49
回答 1查看 79关注 0票数 1

当使用这种格式时..。

代码语言:javascript
运行
复制
var customerInput = Mapper.Map<CustomerInput>(customer); 

CustomerInput是使用Activator.CreateInstance创建的。我认为应该有一种使用工厂来创建这些对象的方法。所以我们想..。

代码语言:javascript
运行
复制
var customerInput = Mapper.Map<ICustomerInput>(customer); 

...where我们可以用一个工厂将ICustomerInput映射到一个“新”CustomerInput。

有什么方法可以用ValueInjecter来实现吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-19 06:33:56

您可以为此使用“附加参数”功能:

代码语言:javascript
运行
复制
var customer = Mapper.Map<Customer>(foo, new Customer { ... });

您可以在AddMap中使用此参数,如下所示:

代码语言:javascript
运行
复制
Mapper.AddMap<Foo, Customer>((src, tag) =>
    {
        var res = (Customer)tag;
        res.InjectFrom(src);
        res.A = src.B + src.C; 

        ...
        return res;
    });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43460862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档