使用ninject

时间:2018-10-01 07:07:38

标签: c# ninject

我们正在外部xml配置文件中定义服务的实现。我们有服务的名称,要实例化的类,包含该类的程序集。我们正在从Spring AOP代码进行迁移。

对于简单的服务,使用kernel.Bind().To()不会产生任何麻烦。 我们加载程序集,创建一个实例,然后将其返回到To()

但是某些服务继承自另一个类,例如:

  internal abstract Bar<T>: EntityBo<T> where T : IAddress
  {
     protected Bar(IAddress adr)
     {
     }
  }

  internal Foo:Bar<ILocalAddress>, ILocalAddressService {
  }

当我尝试从内核获取ILocalAddressService时,我得到了Ninject.ActivationException:

  

激活ILocalAddress时出错,没有匹配的绑定可用,并且   类型不是自绑定的。   激活路径:
  2)将依赖项ILocalAddress注入到Foo类型的构造函数的参数adr中   1)请求ILocalAddressService

内核位于另一个项目中,并且不知道该接口或其实现。

我如何使其工作?

0 个答案:

没有答案