什么相当于Autofac中的Ninject When子句?

时间:2012-05-22 15:17:02

标签: autofac

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

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中的等价是什么?

请帮助!

1 个答案:

答案 0 :(得分:1)

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

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