C# 自动映射能否在值类型(枚举)和引用类型之间映射?(字符串)

C# 自动映射能否在值类型(枚举)和引用类型之间映射?(字符串),c#,enums,automapper,value-type,reference-type,C#,Enums,Automapper,Value Type,Reference Type,奇怪的问题-我正在尝试使用AutoMapper在枚举和字符串之间映射: Mapper.CreateMap<MyEnum, string>() .ForMember(dest => dest, opt => opt.MapFrom(src => src.ToString())); 我不明白为什么我的AutoMapper配置没有 AutoMapper能处理这个问题吗?我是做错了什么,还是AutoMapper有问题 有什么想法吗 编辑 我还尝试使用自定义解析器:

奇怪的问题-我正在尝试使用AutoMapper在枚举字符串之间映射:

Mapper.CreateMap<MyEnum, string>()
   .ForMember(dest => dest, opt => opt.MapFrom(src => src.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();
   }
}
Mapper.CreateMap()
.ForMember(dest=>dest,opt=>opt.resolvesusing());
公共类MyEnumResolver:ValueResolver
{
受保护的重写字符串ResolveCore(MyEnum源)
{
返回source.ToString();
}
}

同一行上出现相同错误:(

对于控制整个映射的两种类型之间的映射,请使用ConvertUsing:

Mapper.CreateMap<MyEnum, string>().ConvertUsing(src => src.ToString());
Mapper.CreateMap().ConvertUsing(src=>src.ToString());

所有其他方法都假设您正在映射到目标类型上的单个成员。

Ahh-这很有意义。因为我正在执行
.ForMember
,但我实际上没有尝试映射成员,我正在尝试映射整个对象。效果很好-谢谢!+1并已接受。非常好的解决方案。。。!
Mapper.CreateMap<MyEnum, string>().ConvertUsing(src => src.ToString());