自动映射器转换与多个ITypeConverter实现一起使用



我有一个类型转换器类,它为对象的寻呼器和对象的寻呼机(继承IEnumerable(实现了ITypeConverter。例如

   class MyConverter : ITypeConverter<IFoo, FooModel>,
                       ITypeConverter<IPager<IFoo>, IPager<FooModel>>
    {
        public FooModel Convert(IFoo source, FooModel destination, ...) {...}
        public IPager<FooModel> Convert(IPager<IFoo> source, IPager<FooModel> destination, ...) {...}
    }

当给定一个寻呼机时,它无论如何都会使用单对象转换器实现。

我知道自动映射器会自动映射集合,但如果存在显式集合映射,它不应该更喜欢显式集合映射吗?我可能会将实现移动到单独的类中,但是有没有另一种方法可以让它使用寻呼机实现?

你应该叫CreateMap和ConvertUsing - 你这样做了吗?

cfg.CreateMap<IFoo, FooModel>().ConvertUsing<MyConverter>();
cfg.CreateMap<IPager<IFoo>, IPager<FooModel>>().ConvertUsing<MyConverter>();

最新更新