public int ValueInt { get; set; }
public string ValueString { get; set; }
public static void Main()
var config = new MapperConfiguration(cfg => {
cfg.CreateMap<Source, Destination>()
.ForMember(dest => dest.ValueString, opt => opt.MapFrom(src => src.ValueInt.ToString()))
.ForMember(dest => dest.ValueInt, opt => opt.MapFrom(src => Int32.Parse(src.ValueString)));
IMapper mapper = config.CreateMapper();
var source = new Source { ValueInt = 100 };
Console.WriteLine(source.ValueInt);
var dest = mapper.Map<Destination>(source);
Console.WriteLine(dest.ValueString);
var sourceReverse = mapper.Map<Source>(dest);
Console.WriteLine(sourceReverse.ValueInt);