温莎城堡 - Null构造函数参数

6 castle-windsor inversion-of-control

如何使用Castle Windsor传递null constuctor参数?我认为以下内容可行

<parameters>
  <repository>null</repository>
  <message>null</message>
</parameters>`
Run Code Online (Sandbox Code Playgroud)

Krz*_*mic 5

如果您希望它们为null,则意味着它们是非必要的依赖项.通过将它们作为ctor参数,你建议不然.你应该重新设计你的类,使另一个构造函数只接受必要的依赖,如果你希望它们不会在对象的整个生命周期中发生变化(只读),或者将它们作为属性公开.

对于Windsor,您无法使其传递空值,原因在于另一个答案中提到的原因.


Big*_*ump 1

简单地有一个不接受这些参数的附加公共构造函数不是更好吗?这样您就不需要在配置中注册参数了?