c# - Can AutoMapper Map Between a Value Type (Enum) and Reference Type? (string) -
weird problem - i'm trying map between enum , string, using automapper:
mapper.createmap<myenum, string>() .formember(dest => dest, opt => opt.mapfrom(src => src.tostring())); don't worry im using .tostring(), in reality i'm using extension method on enum (.todescription()), i've kept simple sake of question.
the above throws object reference error, when im doing setting mapping.
considering works:
string enumstring = myenum.myenumtype.tostring(); i can't see why automapper configuration not.
can automapper handle this, doing wrong, or bug automapper?
any ideas?
edit
i tried using custom resolver:
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(); } } same error on same line. :(
for mapping between 2 types you're taking control of entire mapping, use convertusing:
mapper.createmap<myenum, string>().convertusing(src => src.tostring()); all other methods assume you're mapping individual members on destination type.
Comments
Post a Comment