这是我的场景:
我有一个这样的应用程序:
我使用 Ninject 作为我的 DI 容器,并且正在使用 WPF
1-有ClassB
被注入(inject)到ClassA
,它被注入(inject)到1stViewModel
,它被注入(inject)到1stView
>
2- 再次有 ClassR
被注入(inject)到 ClassQ
中,它被注入(inject)到 2ndViewModel
中,而 2ndViewModel
又被注入(inject)到 2ndView
3-这发生在第三个和第四个窗口
问题:
1-当需要时(当用户单击第一个按钮或第二个按钮时)而不是在我的组合根中,我可以做什么来解析这些类?
2-如果我不将我的ViewModels
注入(inject)到我的 View 中,并且我想在我的 View 中创建我的ViewModel
的新实例,显然它需要一个参数例如,第一个为 IClassA
,第二个为 IClassQ
。我该怎么做?
最佳答案
使用 ninject.extensions.factory 可以定义 ToFactory
您定义的给定接口(interface)的绑定(bind),或者您可以注入(inject) Lazy<T>
在你的构造函数中。更多详细信息请参阅此处扩展的 wiki https://github.com/ninject/ninject.extensions.factory/wiki
关于c# - 如何推迟类(class)的解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17633528/