Autofac 中 Ninject When 子句的等价物是什么?



假设我们有一个有两个构造函数的类,第一个是空的(默认值(,第二个是构造函数参数。

class Test : ITest {
     Public Test () {}
     public Test (string parameter) { do something; }

在NInject中,它可以使用:

Bind<ITest>().To<Test>();
Bind<ITest>().To<Test>()
            .When(ctx => IsTrue())
            .WithConstructorArgument("parameter", request => GetParameter());

对于条件构造函数的使用来说,它非常简洁。

我想知道Autofac中的等价物是什么?

请帮忙!

您可以注册执行条件逻辑的委托。 例如:

builder.Register(context => IsTrue() ? firstService : theOtherService);

最新更新