¿Cuál es el equivalente de la cláusula Ninject When en Autofac?
Frecuentes
Visto 288 veces
0
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!
1 Respuestas
1
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
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas autofac or haz tu propia pregunta.
Esto no trata sobre cómo asignar parámetros a constrcutor. Tuve cambiar la pregunta con más detalles. Gracias por ayudar. - Yiming