public class Animal { }
public class Dog : Animal { }
public class Bird : Animal { }
public class AnimalDto { }
public class DogDto : AnimalDto { }
public class BirdDto : AnimalDto { }
class Program
{
static void Main(string[] args)
{
var config = new TypeAdapterConfig();
config.NewConfig<AnimalDto, Animal>().MapWith((s) => s is BirdDto ? new Bird() : new Dog());
config.AllowImplicitDestinationInheritance = true;
var d = new DogDto();
var a = d.Adapt<Dog>(config);
}
}
Sample Code: