奇怪的问题 - 我正在尝试使用 AutoMapper在enum和string之间进行映射:
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();
}
}
同一行上的相同错误。:(