Nous utilisons l'injection de dépendance basée sur le constructeur, AutoMapper et Unity sur une base de code.Spécification d'un mappage de type Unity par défaut pour une paire générique d'interface et de classe
Nous avons enveloppé AutoMapper avec une interface générique ...
public interface IMapper<TSource, TDestination>
{
TDestination Map(TSource source);
}
Et une classe qui implémente cette interface ...
public class AutomaticMapper<TSource, TDestination> : IMapper<TSource, TDestination>
{
public TDestination Map(TSource source)
{
return AutoMapper.Mapper.Map<TSource, TDestination>(source);
}
}
Cela fonctionne bien, mais cela signifie que pour chaque mappage nous définissons dans la configuration AutoMapper que nous devons effectuer un UnityContainer.RegisterType
supplémentaire.
Ces applications de type sont presque toujours de la forme
container.RegisterType<IMapper<ClassA, ClassB>, AutomaticMapper<ClassA, ClassB>>();
Est-il possible que l'on peut dire l'unité d'utiliser un mappage de type par défaut qui mappe IMapper
-AutomaticMapper
en utilisant la même TSource
et TDestination
pour chacun leur?