有没有办法提示 Unity 应该使用哪个构造函数?
Unity 的 InjectionConstructor
当您需要调用特定的构造函数时效果很好,因为您有非常具体的依赖项(例如外部依赖项、命名注册或未命名注册的任意组合),但它需要所有参数 指定的。
有没有某种方法可以通过“查找并使用具有最多参数数量的构造函数”来增强 Unity 的“查找并使用具有最多参数数量的构造函数”,也可以接受 实例IX
签名中的某处”?
Unity's InjectionConstructor
works well when you need to invoke a specific constructor because you have very specific dependencies in mind (e.g. any mix of external dependencies, named registrations, or unnamed registrations), but it requires all parameters to be specified.
Is there some way to augment Unity's "find and use the constructor with the most number of parameters" with "find and use the constructor with the most number of parameters that also could accept an instance of IX
somewhere in the signature"?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
马克的评论提供了答案的基础。也就是说,
AddPolicies
的实现InjectionConstructor
构造函数中的所有值(显式)相匹配的构造函数。存在一些限制(例如,如果值为 null 或者它们与构造函数中的超类型匹配),并且我并不是说这很好。我最终在其他地方使用了 RegisterInstance,混合参数的需求就消失了。但这对于那些可能需要它的人来说是一个解决方案。
Mark's comment provided the basis for the answer. Namely, the implementation of
AddPolicies
InjectionConstructor
. There are limitations (e.g. if the values are null or they get matched against a supertype in a constructor), andI'm not saying this is good though. I ultimately used
RegisterInstance
elsewhere and the mixed-parameter need went away. But it's a solution for those who might need it.