相关疑难解决方法(0)

为通用接口和类对指定默认的Unity类型映射

我们在代码库上使用基于构造函数的依赖注入,AutoMapperUnity.

我们用一个通用接口包装了AutoMapper ......

public interface IMapper<TSource, TDestination>
{
    TDestination Map(TSource source);
}
Run Code Online (Sandbox Code Playgroud)

还有一个实现这个接口的类......

public class AutomaticMapper<TSource, TDestination> : IMapper<TSource, TDestination>
{
    public TDestination Map(TSource source)
    {
        return AutoMapper.Mapper.Map<TSource, TDestination>(source);
    }
}
Run Code Online (Sandbox Code Playgroud)

这很有效,但这意味着对于我们在AutoMapper配置中定义的每个映射,我们需要执行额外的操作UnityContainer.RegisterType.

这些类型映射几乎总是这种形式

container.RegisterType<IMapper<ClassA, ClassB>, AutomaticMapper<ClassA, ClassB>>();
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以告诉团结使用从映射IMapperAutomaticMapper使用相同TSourceTDestination每个映射的默认类型映射?

dependency-injection unity-container automapper

4
推荐指数
1
解决办法
2473
查看次数