Странная проблема - я пытаюсь отобразить между enum и string , используя AutoMapper:
Mapper.CreateMap<MyEnum, string>()
.ForMember(dest => dest, opt => opt.MapFrom(src => src.ToString()));
Не беспокойтесь, что я использую.ToString()
, на самом деле я использую метод расширения для самого перечисления (.ToDescription()
), но я сохранил его простым ради вопроса.
Выше приведено ссылка на объект ошибка, когда я делаю простую настройку отображения.
Учитывая это работает:
string enumString = MyEnum.MyEnumType.ToString();
Я не могу понять, почему моя конфигурация AutoMapper не работает.
Может ли AutoMapper справиться с этим, я что-то не так делаю, или это ошибка с AutoMapper?
Есть идеи?
РЕДАКТИРОВАТЬ
Я также пытался использовать пользовательский распознаватель :
Mapper.CreateMap<MyEnum, string>()
.ForMember(dest => dest, opt => opt.ResolveUsing<MyEnumResolver>());
public class MyEnumResolver: ValueResolver<MyEnum,string>
{
protected override string ResolveCore(MyEnum source)
{
return source.ToString();
}
}
Та же ошибка в той же строке.(