对的,这是可能的.默认组件激活器仅查找公共构造函数.您可以为该组件提供自定义组件激活器,以考虑内部构造函数,或者使用例如工厂来激活组件:
var container = new WindsorContainer()
.AddFacility<FactorySupportFacility>()
.Register( Component.For<Foo>()
.UsingFactoryMethod( () => new Foo() ) );
var foo = container.Resolve<Foo>();
Run Code Online (Sandbox Code Playgroud)
但是你应该重新考虑将.ctor内部放在首位.这样做真的很不是一个好主意,特别是当你把课程作为外部世界的一个组件暴露时.
| 归档时间: |
|
| 查看次数: |
1907 次 |
| 最近记录: |