【问题标题】:Checking if dependancies been resolved correctly IOC检查依赖项是否已正确解决 IOC
【发布时间】:2012-06-26 04:54:38
【问题描述】:

我在我的代码中使用属性注入。 当我使用这些类时,如果我的属性不为空,我会结束检查每个函数的条目,并且我会在每个函数中进行大量检查。

在这种情况下有什么建议?如何使验证更好,或者我应该进行验证? 也许有一些非空属性?

谢谢

【问题讨论】:

标签: c# .net dependency-injection castle-windsor


【解决方案1】:

如果您的依赖项是强制性的,请将它们设为强制性。

Container.Register(Component.For<Foo>().Properties(PropertyFilter.RequireAll));

这样,Windsor 将确保所有属性都得到满足,然后再将对象归还给您。

【讨论】:

    【解决方案2】:

    如果依赖项不是可选的,并且您没有合理的本地默认值,则不要使用属性注入,而是使用构造函数注入。

    如果无法解决依赖关系,Castle Windsor 将抛出异常。如果您不想依赖此 Castle 功能,则应验证传递给构造函数的依赖项是否不为空。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-01
      • 2020-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-13
      • 1970-01-01
      相关资源
      最近更新 更多