1
LightInjectとMediatRを使ってジェネリックリクエストハンドラを構築しようとしています。基本的に、私は次のような種類があります。LightInjectは継承したジェネリック型を解決しません
public class SomeType { }
public class InheritedType : SomeType { }
public class Handler : IAsyncRequestHandler<SomeType, SomeResponseType> { }
をそして私はそうのような私のLightInject容器の中に私のHandler
タイプを登録している:
registry.RegisterAssembly(typeof(SomeType).Assembly, (s, type) =>
!s.IsClass && type.IsAssignableToGenericType(typeof(IAsyncRequestHandler<,>)
);
をしかし、私がしようとしたときとするために、私の仲介者に呼び出しますの実装では、失敗します。 InheritedType
がSomeType
を実装して以来、私は登録されたHandler
を得ることになるでしょう。
私はここで何か間違っているのですか、LightInjectに上記の動作を達成する方法がありますか?
明確ではないと私に教えてください。ありがとう!
私はそれaroudnジェネリック医薬品の余分な層を回避するための別の方法を働くことになったように解決するが、良い情報を知るために、ありがとう!そして、素晴らしいライブラリのおかげで! – agc93