AutoMapper TypeConverter自定义构造函数

时间:2010-11-19 16:48:44

标签: dependency-injection automapper

您好我正在使用AutoMapper从模型转移到Dto,它运行良好。 在一个TypeConverter中,我需要注入一个必须由类型转换器使用的接口(服务)才能进行转换。

如何在AutoMapper中完成此操作?

1 个答案:

答案 0 :(得分:12)

你能不能只在TypeConverter课程上创建一个构造函数,接受服务?不是使用通用ConvertUsing,而是传递使用该服务构建的TypeConverter的新实例...

    public class MyTypeConverter : TypeConverter<String, String>
    {
        public MyTypeConverter(IMyService service)
        {
            MyService = service;
        }

        public IMyService MyService { get; set; }

        protected override string  ConvertCore(string source)
        {
            //use service
        }
     }

用法:

     Mapper.CreateMap<string, string>()
                     .ConvertUsing(new MyTypeConverter(_myService));