1
7
the solution is an Abstract Factory . 这样的方法应该有用:
现在将IExchangeRateFactory而不是ExchangeRate注入到使用者中,并使用GetExchangeRate方法将运行时值转换为ExchangeRate实例。 显然,您还需要提供IExchangeRateFactory的实现,并配置NInject将接口映射到您的实现。 |
2
1
你可能会发现 factory delegates providers 是有用的。这两个都是马克(+1d)的答案。 |
3
1
最后我做了一些完全不同的事情。 在调用ObjectFactory为我解析依赖关系之前,我使用runTimeValue创建了一个IExchangeRate的新实例,并告诉IoC/DI容器使用它,而不是创建一个新实例。这样就保留了整个对象链,不需要工厂。
谢谢你们的帮助!真的很感激! |
4
0
将初始化移出构造函数。 |
5
0
根据代码更新:
注意这个方法如何只需要runtimeValue,以便它可以将它传递给其他对象?这是因为对象构造和运行时职责是混合的。我认为您应该在这个方法的构造函数中要求一个iordercollector。 所以这个方法变成了:
现在,当您构造IOrderCalculator时,应该将runtimeValue传递给它的构造函数。当我们不知道runtimeValue是什么或者它来自何处时,就有点难以回答了。 |
computrius · ninject中存储的单例实例在哪里? 7 年前 |
After_Sunset · 如何使用TopShelf处理服务会话更改 7 年前 |
Dan · Ninject无法解决WPF中的构造函数注入问题 7 年前 |
Mehrdad Kamelzadeh · 带有Ninject的装饰图案 9 年前 |