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