public class Source
{
public int Value { get; set; }
}
public class Destination
{
public string Value { get; set; }
}
public class MappingProfile : Profile
{
public MappingProfile()
{
CreateMap()
.ForMember(dest => dest.Value, opt => opt.ConvertUsing(new ValueConverter()));
}
}
public class ValueConverter : IValueConverter
{
public string Convert(int sourceMember, ResolutionContext context)
{
return $"The value is {sourceMember}";
}
}
var source = new Source { Value = 42 };
var mapperConfig = new MapperConfiguration(cfg => cfg.AddProfile());
var mapper = mapperConfig.CreateMapper();
var destination = mapper.Map(source);
Console.WriteLine(destination.Value); // This will output "The value is 42"