私は次のように定義された2つのコンストラクターを持っています:
public interface IMyService<T1,T2>{}
public class MyService1 : IMyService<SomeTypeA,SomeTypeB>
{
public MyService2(string serviceAUri,IServiceB svc){}
public MyService2(IServiceA svc,IServiceB svc){}
}
public class MyService2 : IMyService<SomeTypeC,SomeTypeD>
{
public MyService2(string serviceAUri,IServiceB svc){}
public MyService2(IServiceA svc,IServiceB svc){}
public MyService2(IServiceC svc、IServiceD svc){}
}
T1とT2の異なる値でIMyServiceの複数のサービス実装を登録しているので、登録メカニズムはインターフェイスの実装全体で汎用的である必要があります。
[Inject]属性を使用せずに呼び出すコンストラクターを指定するにはどうすればよいですか?Ninjectが「url」パラメーターを持つコンストラクターを他のコンストラクターよりも選択するようにガイドする「Bind」で指定できる規則はありますか?