0
Unityでジェネリックインターフェイスを登録することに関して複数のスレッドを見ましたが、残念ながら実際に動作させることはできませんでした。これは定義されているインターフェースです。Unityとの汎用ハンドラインターフェイスの登録
public interface IHandler<in TCommand>{}
例クラス:
public class MyTestHandler : IHandler<TestCommand>
{}
私はその後、工場でそれらを解決しようとしている:
public IHandler<TCommand> Create<TCommand>()
{
return _container.Resolve<IHandler<TCommand>>();
}
私は次のように私のハンドラを登録しようとしました:
container.RegisterTypes(AllClasses.FromLoadedAssemblies().Where(type => typeof(IHandler<>).IsAssignableFrom(type)), WithMappings.FromAllInterfaces, WithName.TypeName, WithLifetime.Transient);
コンクリートハンドラーを正式に登録することはできません。どんな提案も素晴らしいだろう。
ありがとうございます。
:
これは私のために正常に動作、つまり、
instance
はMyTestHandler
とinstance2
MyTestHandler2
を受信する受信しますそれらを登録するが、まだそれらを解決しなかった。 –