gpt4 book ai didi

dependency-injection - 将服务注入(inject) AutoMapper 目标类

转载 作者:行者123 更新时间:2023-12-04 07:28:23 25 4
gpt4 key购买 nike

假设我有一个使用 AutoMapper 映射的源和目标类。
目的地有一个记录器服务注入(inject)到构造函数中。

但是,我不知道如何通过 StructureMap 将服务注入(inject)到构造函数中?

我尝试了以下方法:

Mapper.Initialize(m =>
{
m.ConstructServicesUsing(ObjectFactory.GetInstance);
});

这并没有阻止我在映射调用中遇到异常,我猜是因为服务没有被正确注入(inject)。

我还尝试了以下方法:
CreateMap<Source, Dest>()
.ConstructUsing(x=> ObjectFactory.GetInstance<ILoggerService>());

但我得到错误: 无法将 Lamda 表达式转换为委托(delegate)类型 ,但我见过的所有例子都使用这种方法?

最佳答案

传递给 ConstructUsing 的 lambda 必须返回目标类型的实例。所以在你的情况下,你会想要这样做:

CreateMap<Source, Dest>()  
.ConstructUsing(x=> ObjectFactory.GetInstance<Dest>());

假设您正确设置了 StructureMap,它应该创建 Dest 对象并为您注入(inject) ILoggerService。

关于dependency-injection - 将服务注入(inject) AutoMapper 目标类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5938704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com