¿Cuál es el equivalente de la cláusula Ninject When en Autofac?

Digamos que tenemos una clase con dos constructores, el primero está vacío (el valor predeterminado) y el segundo con el parámetro constructor.

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

En NInject, puede usar:

Bind<ITest>().To<Test>();

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

Es muy conciso para el uso del constructor condicional.

Me pregunto cuál es el equivalente en Autofac.

¡Ayuda por favor!

preguntado el 22 de mayo de 12 a las 16:05

1 Respuestas

Puede registrar un delegado que haga la lógica condicional. P.ej :

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

contestado el 22 de mayo de 12 a las 22:05

Esto no trata sobre cómo asignar parámetros a constrcutor. Tuve cambiar la pregunta con más detalles. Gracias por ayudar. - Yiming

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.