如何使用Castle Windsor传递null构造函数参数?我认为以下内容可行
<parameters>
<repository>null</repository>
<message>null</message>
</parameters>`
答案 0 :(得分:5)
如果您希望它们为null,则表示它们是非必要的依赖项。通过将它们作为ctor参数,你建议不然。你应该重新设计你的类,使另一个构造函数只接受必要的依赖,如果你希望它们不会在对象的整个生命周期中发生变化(只读),或者将它们作为属性公开。
对于Windsor,您无法使其传递空值,原因在于另一个答案中提到的原因。
答案 1 :(得分:1)
仅仅有一个不带这些参数的额外公共构造函数不是更好吗,那么你不需要在配置中注册参数吗?
答案 2 :(得分:1)
在邮件列表上讨论了一段时间,当时我查看了代码。故意过滤出空值(主要是因为复杂的类型分辨率)。
我找不到一种简单的方法来制作一个特殊情况来添加它们。