public static void Main()
var lion = new Lion { Name = "Simba" };
var tiger = lion.CreateMap<Tiger, Lion>(Cast);
Console.WriteLine(tiger.FullName);
public static void Cast(Tiger dest, Lion src)
dest.FullName = src.Name;
public string Name { get; set; }
public string FullName { get; set; }
public static class ObjectExtensions {
public static TDestination CreateMap<TDestination, TSource>(this TSource src, Action<TDestination, TSource> action) where TDestination : new()
var result = new TDestination();