こんにちは私はAutoMapperを使用してモデルからDtoに移動しています。 1つでTypeConverter
変換を行うためにタイプコンバータで使用する必要があるインタフェース(サービス)を挿入する必要があります。AutoMapper TypeConverterカスタムコンストラクタ
これをAutoMapperでどうすれば実現できますか?
こんにちは私はAutoMapperを使用してモデルからDtoに移動しています。 1つでTypeConverter
変換を行うためにタイプコンバータで使用する必要があるインタフェース(サービス)を挿入する必要があります。AutoMapper TypeConverterカスタムコンストラクタ
これをAutoMapperでどうすれば実現できますか?
TypeConverter
クラスにサービスを受け入れるだけでコンストラクタを作成することはできますか?むしろ一般的なConvertUsing
を使用するよりも、サービスで構成さあなたのTypeConverter
の新しいインスタンスを渡す...
public class MyTypeConverter : TypeConverter<String, String>
{
public MyTypeConverter(IMyService service)
{
MyService = service;
}
public IMyService MyService { get; set; }
protected override string ConvertCore(string source)
{
//use service
}
}
使用法:
Mapper.CreateMap<string, string>()
.ConvertUsing(new MyTypeConverter(_myService));
ああ、私はそれを行うことができるか分からなかった。 ConvertUsing
あなたが必要とするサービスが 'IMapper'の場合、' ITypeConverter <>。Convert() 'メソッドですぐに利用可能な' ResolutionContext context'が現在のマッパーを提供します。 –
素晴らしいコメントChris Walsh homie –
あなたは依存性の注入パッケージを使用していますか? – BeRecursive