AutoMapper可以在值类型(枚举)和引用类型之间映射吗? (字符串)

| 奇怪的问题-我正在尝试使用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();
   }
}
同一行出现相同错误。 :(     
已邀请:
对于要控制整个映射的两种类型之间的映射,请使用ConvertUsing:
Mapper.CreateMap<MyEnum, string>().ConvertUsing(src => src.ToString());
所有其他方法都假定您正在映射到目标类型上的单个成员。     

要回复问题请先登录注册