好的,所以我想说我需要处理订单.我们过去总是只有一种订单,订单.由于奇怪的情况,我们必须制作我们自己的注射器,并且目前正在使用它:
using(DependencyInjector.Inject()
.ForType<Order>()
.ImplementedBy<InsideOrderProcessor>())
{ ... };
Run Code Online (Sandbox Code Playgroud)
现在我们有了一个新的订单类型或订单,需要在处理方面有细微差别.但它仍然是Order类型,不能是其他任何东西.可以这样做:
using( isInsideOrder
? DependencyInjector.Inject()
.ForType<Order>()
.ImplementedyBy<InsideOrderProcessor>()
: DependencyInjector.Inject()
.ForType<Order>()
.ImplementedBy<OutisdeOrderProcessor>())
{ ... };
Run Code Online (Sandbox Code Playgroud)
这甚至会起作用吗?如果是这样,可以吗?