我正试图让AutoMapper
使用Mvx.IoCProvider.Resolve
方法来解决依赖关系。到目前为止,似乎没有任何预期的工作。
关于此的AutoMapper文档非常简洁,仅给出一个衬里示例:
Mapper.Initialize(cfg =>
{
cfg.ConstructServicesUsing(ObjectFactory.GetInstance);
cfg.CreateMap<Source, Destination>();
});
所以我的配置如下:
Mapper.Initialize(cfg =>
{
cfg.AddProfile(new MyAutoMapperProfile());
cfg.ConstructServicesUsing(Mvx.IoCProvider.Resolve);
});
我也尝试过使用Func
,例如:
private object GetDepType(Type arg)
{
var t = Mvx.IoCProvider.Resolve(arg);
return t;
}
这仍然是一个错误,抱怨类没有无参数的构造函数:
MyViewModel需要具有0 args或仅可选的构造函数 args。
在我的个人资料中,我还指定了应该使用服务定位符构造我的类型:
CreateMap<MyDto, MyViewModel>().ReverseMap().ConstructUsingServiceLocator();
我仍然无法使用AutoMapper
将Mvx DI容器用于依赖项。我缺少什么配置才能使此方案正常工作?