从AutoMapper的静态API升级时我遇到了问题。
我跟随this page上的示例,其中说明了
4.1及之前的典型用法是:
Mapper.Initialize(cfg => { cfg.AddProfile<AppProfile>(); cfg.CreateMap<Source, Dest>(); }); var dest = Mapper.Map<Source, Dest>(new Source());
在4.2及更高版本中,这看起来像:
var config = new MapperConfiguration(cfg => { cfg.AddProfile<AppProfile>(); cfg.CreateMap<Source, Dest>(); }); var mapper = config.CreateMapper(); var dest = mapper.Map<Source, Dest>(new Source());
然而,在通过NuGet使用v4.2.1时,我无法看到这个&#39; CreateMapper&#39;方法
我应该使用什么?
答案 0 :(得分:1)
我已经意识到造成我问题的原因。
为了在应用程序范围内使用MapperConfiguration
,我将其存储为静态属性:
public static IMapperConfiguration { get; private set; }
public static void Init()
{
MapperConfiguration = new MapperConfiguration(...);
...
MapperConfiguration. // CreateMapper() not available
}
此处的问题是CreateMapper
方法仅适用于MapperConfiguration
类,而不适用于IMapperConfiguration
界面。