gpt4 book ai didi

c# - Simple Injector 条件注入(inject)

转载 作者:太空狗 更新时间:2023-10-29 19:53:41 24 4
gpt4 key购买 nike

假设我有两个 Controller :ControllerA 和 ControllerB。这两个 Controller 都接受 IFooInterface 作为参数。现在我有 2 个 IFooInterface、FooA 和 FooB 的实现。我想在 ControllerA 中注入(inject) FooA,在 ControllerB 中注入(inject) FooB。这在 Ninject 中很容易实现,但由于性能更好,我正在转向 Simple Injector。那么如何在 Simple Injector 中执行此操作?请注意,ControllerA 和 ControllerB 位于不同的程序集中,并且是动态加载的。

谢谢

最佳答案

因为版本 3 Simple Injector 有 RegisterConditional 方法

container.RegisterConditional<IFooInterface, FooA>(c => c.Consumer.ImplementationType == typeof(ControllerA));
container.RegisterConditional<IFooInterface, FooB>(c => c.Consumer.ImplementationType == typeof(ControllerB));
container.RegisterConditional<IFooInterface, DefaultFoo>(c => !c.Handled);

关于c# - Simple Injector 条件注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27750322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com