gpt4 book ai didi

dependency-injection - 为通用接口(interface)和类对指定默认 Unity 类型映射

转载 作者:行者123 更新时间:2023-12-04 22:38:00 25 4
gpt4 key购买 nike

我们正在使用基于构造函数的依赖注入(inject),AutoMapperUnity在代码库上。

我们用通用接口(interface)包装了 AutoMapper...

public interface IMapper<TSource, TDestination>
{
TDestination Map(TSource source);
}

还有一个实现这个接口(interface)的类......
public class AutomaticMapper<TSource, TDestination> : IMapper<TSource, TDestination>
{
public TDestination Map(TSource source)
{
return AutoMapper.Mapper.Map<TSource, TDestination>(source);
}
}

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

这些类型映射几乎总是以下形式
container.RegisterType<IMapper<ClassA, ClassB>, AutomaticMapper<ClassA, ClassB>>();

有什么方法可以告诉 unity 使用从 IMapper 映射的默认类型映射至 AutomaticMapper使用相同的 TSourceTDestination他们每个人?

最佳答案

我们实际上做了几乎完全相同的事情。在 Unity 中,您可以说:

unityContainer.RegisterType(typeof(IMapper<,>), typeof(AutomaticMapper<,>));

关于dependency-injection - 为通用接口(interface)和类对指定默认 Unity 类型映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2198982/

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