本文介绍了使用Ninject的装饰器如何完成绑定?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
基于此问题:.
如何使用Ninject使用装饰器完成绑定?或任何DIContainer吗?
How the binding would be done with decorators using Ninject ? or any DIContainer ?
public class CachedLoggedRepository : IRepository
{
public IRepository repository { get; set; }
void Add();
}
public class CachedRepository : IRepository
{
public IRepository repository { get; set; }
void Add();
}
public class Repository : IRepository
{
void Add();
}
推荐答案
您必须使用条件绑定,例如
You have to use conditional bindings e.g
Bind<IRepository>().To<Repository>().WhenInjectedInto<CachedRopsitory>();
Bind<IRepository>().To<CachedRepository>().WhenInjectedInto<CachedLoggedRepository>();
Bind<IRepository>().To<CachedLoggedRepository>();
这篇关于使用Ninject的装饰器如何完成绑定?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!