using AgileObjects.AgileMapper;
public static void Main()
.From<bool>().To<string>()
.IfTargetMemberMatches(m => m.HasAttribute<YesOrNoAttribute>())
.Map((bl, str) => bl ? "Yes" : "No")
var trueSource = new Source { YesOrNo = true, BoolValue = true };
var trueResult = Mapper.Map(trueSource).ToANew<Target>();
Console.WriteLine("trueResult.YesOrNo = " + trueResult.YesOrNo);
Console.WriteLine("trueResult.BoolValue = " + trueResult.BoolValue);
var falseSource = new Source { YesOrNo = false, BoolValue = false };
var falseResult = Mapper.Map(falseSource).ToANew<Target>();
Console.WriteLine("falseResult.YesOrNo = " + falseResult.YesOrNo);
Console.WriteLine("falseResult.BoolValue = " + falseResult.BoolValue);
public bool YesOrNo { get; set; }
public bool BoolValue { get; set; }
public string YesOrNo { get; set; }
public string BoolValue { get; set; }
public class YesOrNoAttribute : Attribute {}