public interface IGenericFoo<TDestination> where TDestination : class {
string Baboon { get; set; }
public class Source : IFoo {
public string Foo { get; set; }
public class Destination<T> : IGenericFoo<T> where T : class {
public string Baboon { get; set; }
public static void Main()
Mapper.Initialize(cfg => cfg.CreateMap(typeof(IFoo), typeof(IGenericFoo<>)));
var source = new Source { Foo = "foo" };
var dest = Mapper.Map<IFoo, IGenericFoo<object>>(source);