Dados los siguientes tipos de fuentes:Automapper resuelve automáticamente la subclase correcta para mapear?
public class BaseViewModel
{
public string Prop1 { get; set; }
}
public class FirstViewModelImpl : BaseViewModel
{
public string Prop2 { get; set; }
}
public class SecondViewModelImpl : BaseViewModel
{
public string AnotherProp { get; set; }
}
y los siguientes tipos de destino
public class BaseDto
{
public string Prop1 { get; set; }
}
public class FirstDtoImpl : BaseDto
{
public string Prop2 { get; set; }
}
public class SecondDtoImpl : BaseViewModel
{
public string AnotherProp { get; set; }
}
Con las siguientes asignaciones:
Mapper.CreateMap<FirstViewModelImpl,FirstDtoImpl>();
Mapper.CreateMap<SecondViewModelImpl,SecondDtoImpl>();
¿Puedo hacer lo siguiente (ejemplo trivial) - dado que realmente no conozco el tipo de viewmodel hasta el tiempo de ejecución?
BaseViewModel myViewModel = GetAViewModelFromSomewhere();
FirstDtoImpl dto = (FirstDtoImpl)Mapper.Map<BaseViewModel,BaseDto>(myViewModel);
¡Estoy intentando esto ahora de todos modos!
Right Acabo de probar esto y parece que no es posible, a menos que me falta algo? –