AutoMapper无法自动映射接口列表,因此需要手动添加映射配置。可以通过创建自定义解析器来解决该问题,例如使用MapFrom方法映射到具体实现类。示例代码如下:
// 定义接口 public interface IFoo { string Name { get; set; } }
// 定义实现类 public class Foo : IFoo { public string Name { get; set; } }
// 创建映射配置
Mapper.Initialize(cfg => {
cfg.CreateMap
// 创建接口列表
var lst = new List
// 映射到具体实现类列表
var lstMapped = Mapper.Map>(lst);
// 打印输出 lstMapped.ForEach(x => Console.WriteLine(x.Name));
// 输出结果: // A // B // C