27
奇怪的问题 - 我想要的枚举和串之间进行映射,使用AutoMapper:AutoMapper可以在值类型(枚举)和引用类型之间映射吗? (串)
Mapper.CreateMap<MyEnum, string>()
.ForMember(dest => dest, opt => opt.MapFrom(src => src.ToString()));
不要担心使用.ToString()
,即时通讯,在现实中我使用enum本身的扩展方法(.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();
}
}
在同一行同样的错误。 :(
Ahh - 这很有道理,因为我在做'.ForMember',但是我实际上并没有试图映射这个成员,所以我试图映射整个对象,很好用 - 谢谢!+1并且被接受。 – RPM1984 2011-04-12 23:11:13
真的很棒的解决方案。 ..! – imdadhusen 2017-05-31 10:20:26