更新时间:2023-02-10 08:31:37
去这里的一个方法是,以取代静态的注册表函数在MapperRegistry类。下面是当前版本:
One way to go here is to replace the static registry function in the MapperRegistry class. Here's the current version:
public static Func<IEnumerable<IObjectMapper>> AllMappers = () => new IObjectMapper[]
{
#if !SILVERLIGHT
new DataReaderMapper(),
#endif
new TypeMapMapper(TypeMapObjectMapperRegistry.AllMappers()),
new StringMapper(),
new FlagsEnumMapper(),
new EnumMapper(),
new ArrayMapper(),
new EnumerableToDictionaryMapper(),
new DictionaryMapper(),
#if !SILVERLIGHT
new ListSourceMapper(),
#endif
new EnumerableMapper(),
new AssignableMapper(),
new TypeConverterMapper(),
new NullableMapper()
};
您会基本上复制了一个,这样做:
You'd basically copy that one, and do something like:
MapperRegistry.AllMappers = () => new IObjectMapper[] {
// Insert your custom mapper somewhere in this list
};
就做,你做任何Mapper.CreateMap或Mapper.Initialize业务之前。映射器才能进行评估。
Just do that before you do any Mapper.CreateMap or Mapper.Initialize business. Mappers are evaluated in order.