jaf*_*ffa 8 structuremap dependency-injection automapper
假设我有一个使用AutoMapper映射的源和目标类.目标具有注入构造函数的记录器服务.
但是,我不知道如何通过StructureMap将服务注入到构造函数中?
我尝试过以下方法:
Mapper.Initialize(m =>
{
m.ConstructServicesUsing(ObjectFactory.GetInstance);
});
Run Code Online (Sandbox Code Playgroud)
这并没有阻止我在映射调用上有异常,我猜是因为服务没有正确注入.
我也尝试过以下方法:
CreateMap<Source, Dest>()
.ConstructUsing(x=> ObjectFactory.GetInstance<ILoggerService>());
Run Code Online (Sandbox Code Playgroud)
但我得到错误:无法将Lamda表达式转换为委托类型,但我见过的所有示例都使用此方法?
传递给ConstructUsing的lambda必须返回目标类型的实例.所以在你的情况下,你会想要这样做:
CreateMap<Source, Dest>()
.ConstructUsing(x=> ObjectFactory.GetInstance<Dest>());
Run Code Online (Sandbox Code Playgroud)
假设您正确设置了StructureMap,它应该创建Dest对象并为您注入ILoggerService.
| 归档时间: |
|
| 查看次数: |
3047 次 |
| 最近记录: |