C# 检查相关性是否已正确解决

C# 检查相关性是否已正确解决,c#,.net,dependency-injection,castle-windsor,C#,.net,Dependency Injection,Castle Windsor,我正在代码中使用属性注入。 当我使用这些类时,如果我的属性不为null,我就结束了对每个函数项的检查,并且在每个函数中进行了大量检查 在这种情况下,建议是什么?如何使验证更精确,还是我应该进行验证? 也许有一些非空属性 谢谢如果依赖项不是可选的,并且您没有合理的本地默认值,那么就不要使用属性注入,而是使用构造函数注入 如果温莎城堡无法解决依赖关系,它将抛出。如果不想依赖此Castle功能,则应验证传递给构造函数的依赖项是否为空。如果依赖项不是可选的,并且没有合理的本地默认值,则不要使用属性注入,

我正在代码中使用属性注入。 当我使用这些类时,如果我的属性不为null,我就结束了对每个函数项的检查,并且在每个函数中进行了大量检查

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


谢谢

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


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

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


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

如果依赖项是必需的,则将其设置为必需的

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

这样,Windsor将确保在返回对象之前满足所有属性。

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

Container.Register(Component.For<Foo>().Properties(PropertyFilter.RequireAll));
这样,Windsor将确保在返回对象之前满足所有属性。

查看查看查看查看