AutoMapperのIObjectMapperインターフェイスを使用して、タイプ用に独自のカスタムObject Mapperを作成することを計画していますが、実装されたマッパーをAutoMapperに登録できる場所が見つかりません。誰かがそれを登録する方法を教えてもらえますか?
編集:これの詳細については、AutoMapper-ユーザーグループでの議論に従ってください。
AutoMapperのIObjectMapperインターフェイスを使用して、タイプ用に独自のカスタムObject Mapperを作成することを計画していますが、実装されたマッパーをAutoMapperに登録できる場所が見つかりません。誰かがそれを登録する方法を教えてもらえますか?
編集:これの詳細については、AutoMapper-ユーザーグループでの議論に従ってください。
ここに進む1つの方法は、MapperRegistryクラスの静的レジストリ関数を置き換えることです。現在のバージョンは次のとおりです。
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()
};
基本的にそれをコピーして、次のようなことをします。
MapperRegistry.AllMappers = () => new IObjectMapper[] {
// Insert your custom mapper somewhere in this list
};
Mapper.CreateMapまたはMapper.Initializeビジネスを実行する前にそれを実行してください。マッパーは順番に評価されます。