0

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

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

请帮忙!

4

1 回答 1

1

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

builder.Register(context => IsTrue() ? firstService : theOtherService);
于 2012-05-22T21:07:20.333 回答