我目前正在尝试研究如何使用 Ninject 为某些字段设置初始值。
我有这样的事情:
public class SomeClass
{
private ISomething _something;
public SomeClass(string someParam)
{
}
public void DoAThing()
{
_something.DoSomething();
}
}
我的困境来自于_something
初始值的设置,因为我不希望类知道ISomething
要使用哪个默认实现,有没有办法在 Ninject 中实现这一点?
我应该补充一点,通过构造函数传递初始值不是一种选择。
我还应该补充一点,这是在一个类库中,所以任何关于如何以及何时设置内核和注入的信息都会很棒:)
详细说明:似乎人们可能会感到困惑,我不是想将 ISomething 放入类中(它不是依赖项),而是 ISomething 的默认实现是依赖项,这就是我选择服务的原因-locator 模式,对于实际的依赖关系,我当然会将它们放在构造函数中。
谢谢。