Может ли AutoMapper сопоставлять тип значения (перечисление) и ссылочный тип? (строка)

Странная проблема - я пытаюсь сопоставить enum и строку , используя AutoMapper:

Mapper.CreateMap<MyEnum, string>()
   .ForMember(dest => dest, opt => opt.MapFrom(src => src.ToString()));

Don ' Не волнуйтесь, что я использую .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();
   }
}

Та же ошибка в той же строке. : (

33
задан RPM1984 12 April 2011 в 06:58
поделиться