RPM*_*984 33 c# enums value-type reference-type automapper
奇怪的问题 - 我正在尝试使用AutoMapper 在枚举和字符串之间进行映射:
Mapper.CreateMap<MyEnum, string>()
.ForMember(dest => dest, opt => opt.MapFrom(src => src.ToString()));
Run Code Online (Sandbox Code Playgroud)
不要担心.ToString()我正在使用,实际上我在枚举本身上使用了一个扩展方法(.ToDescription()),但为了这个问题我一直保持简单.
当我只是简单地设置映射时,上面引发了一个对象引用错误.
考虑到这一点:
string enumString = MyEnum.MyEnumType.ToString();
Run Code Online (Sandbox Code Playgroud)
我看不出为什么我的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();
}
}
Run Code Online (Sandbox Code Playgroud)
同一行上的错误相同.:(
Jim*_*ard 60
要在您控制整个映射的两种类型之间进行映射,请使用ConvertUsing:
Mapper.CreateMap<MyEnum, string>().ConvertUsing(src => src.ToString());
Run Code Online (Sandbox Code Playgroud)
所有其他方法都假定您映射到目标类型上的各个成员.
| 归档时间: |
|
| 查看次数: |
20398 次 |
| 最近记录: |