Мне нужно определить несколько самосопоставлений в 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")
}
Ошибка, которую я получаю,
алфавитноSortedType является переменной, но используется как тип.
Любая идея о том, как я могу обойти это?
Вам необходимо передать объекты типа в качестве параметров методу CreateMap.
Mapper.CreateMap(alphabeticallySortedType, alphabeticallySortedType);
Вам придется переписать все, чтобы работать с неуниверсальным интерфейсом.
Главное, что оттуда я получаю доступ к ForAllMembers, который недоступен с помощью неуниверсального метода.
Да, возможно, вам нужно обновить AM.
Я определил метод расширения public static IMappingExpression<TSource, TDestination> MapAllFieldsWhenTargetIsEmpty<TSource, TDestination>(это IMappingExpression<TSource, TDestination> MappingExpression), который недоступен, если я это сделаю