我有一个具有属性的源类型和一个具有完全相同属性的目标类型。
在我为 AutoMapper 配置了一个简单的映射后,例如:
Mapper.CreateMap<MySourceType, MyDestinationType>();
我想要一个 MyDestinationType 的构造函数,它有一个 MySourceType
参数,然后使用源自动初始化正在创建的类型的属性,如下所示:
public MyDestinationType(MySourceType source)
{
// Now here I am do not know what to write.
}
我发现的唯一解决方法是创建一个静态工厂方法
public static MyDestinationType Create(MySourceType source)
{
return Mapper.Map<MyDestinationType>(source);
}
有什么办法可以避免这种静态的丑陋吗?
最佳答案
虽然我个人觉得它很丑,但你可以做的是:
public MyDestinationType(MySourceType source)
{
Mapper.Map<MySourceType, MyDestinationType>(source, this);
}