在我的例子中,我使用 Castle Windsor 作为我的 IoC 容器。
我想声明一个组件,其中一个构造函数参数将在运行时设置为现有对象,而不是让 IoC 容器在创建组件时创建对象。例如,我的应用程序主窗体的实例。
我怀疑有两种方法:
- 第一次通过容器创建对象,然后使用任何必要的运行时值对其进行配置,以便稍后当组件向 Windsor 请求它时,它就可以使用了。
- 创建一个
IFormProvider
和具体FormProvider
的 ,其中组件需要IFormProvider
注入一个值,随后它会要求表单实例(即formProvider.Form
)。
这方面有什么进展吗?