Automapper 映射数组列表

Automapper Mapping Arraylist

我有以下 class:

public class Response{
    public string Result {get;set;}
    public ArrayList Errors {get;set;}
}

和以下映射

cfg.CreateMap<ErrorMessage, Error>();

cfg.CreateMap<OriginalResponse, Response>()
   .ForMember(d => d.Errors, 
              opts => opts.MapFrom(s => s.ErrorMessages));

在我的源代码中,ErrorMessages 是一个类型为 ErrorMessage 的数组。

我希望我的响应中的 Errors ArrayList 为 Error 类型,但我的映射返回的是 ErrorMessage 类型的 ArrayList(原始类型)。

如何让 ArrayList 正确映射?

由于第 3 方系统的限制,我无法使用 Errors 类型的常规数组。

在此转载:https://dotnetfiddle.net/VPRsYV

尝试

cfg.CreateMap<ErrorMessage, Error>(); cfg.CreateMap<ErrorMessage, object>().As<Error>();

这告诉AM,当你从ErrorMessage映射到object时(ArrayList中没有元素类型信息),你实际上是指Error。检查 the docs.