using AutoMapper;
public class Source
{
public int Value { get; set; }
}
public class Destination
{
public string Result { get; set; }
}
public class CustomResolver : IValueResolver
{
public string Resolve(Source source, Destination destination, string destMember, ResolutionContext context)
{
if (source.Value > 10)
{
return "Large";
}
else
{
return "Small";
}
}
}
public class Program
{
public static void Main()
{
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap()
.ForMember(dest => dest.Result, opt =>
opt.MapFrom());
});
var mapper = config.CreateMapper();
var source = new Source { Value = 15 };
var destination = mapper.Map(source);
Console.WriteLine(destination.Result); // Output: Large
}
}