使用System.Type作为AutoMapper中的TSource,TTarget

时间:2019-04-08 11:59:43

标签: c# automapper

我必须在AutoMapper中定义一些自映射,大约有50多个映射。

我已将它们添加到列表中

var alphabeticallySortedTypes = new List<Type>()
{
    typeof(AmtType),
    typeof(AnyCountType),
    //some more
}

然后我尝试将它们添加到foreach内:

AutoMapper.Mapper.CreateProfile("SelfCollectionMapping");
foreach(var alphabeticallySortedType in alphabeticallySortedTypes)
{
    AutoMapper.Mapper.CreateMap<alphabeticallySortedType, alphabeticallySortedType> ()
    .WithProfile("SelfCollectionMapping")
}

我得到的错误是

alphabeticallySortedType是一个变量,但像类型一样使用。

关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:0)

您需要将类型对象作为参数传递给CreateMap方法。

Mapper.CreateMap(alphabeticallySortedType, alphabeticallySortedType);