与 nin注入中的多个实现接口
本文关键字:实现 接口 nin 注入 | 更新日期: 2023-09-27 18:33:38
我有一个有两个不同实现的接口。
public interface IProducer
{
}
public class Producer : IProducer
{
}
public class FaultProducer : IProducer
{
}
我有两个不同的类,它们都把 IProducer 作为依赖项。
public class ConsumerChannel
{
public ConsumerChannel(IProducer producer)
{
}
}
public class TradePublisher
{
public TradePublisher(IProducer producer)
{
}
}
TradePublisher
需要一个生产者,ConsumerChannel
需要一个FaultProducer
。 我只能IProducer
绑定到一个实现。 在温莎,我可以使用命名绑定和Dependency.OnComponent
来做到这一点,但我在 Ninject 中找不到类似的能力。 有没有办法在 Ninject 中注入特定的依赖项?
对 Ninject 使用命名绑定:
Bind<IProducer>().To<FaultProducer>().Named("FaultProducer");
public TradePublisher([Named("FaultProducer")] IProducer producer)
//...
}